#lang scheme/base
(require
"../tools.ss")
(provide
(all-from-out "../tools.ss"))
(require/provide
"../ns.ss"
"../scat.ss"
"../sig.ss"
"../op.ss"
"pattern.ss"
"pattern-meta.ss"
"pattern-runtime.ss"
"macro-utils.ss"
"rpn-macro.ss"
"macro-eval.ss"
"op.ss" "../target.ss"
"target-scat.ss" )
(provide (all-defined-out))
(define (list->macro glue lst)
(scat-compose
(map (lambda (el) (macro: ',el ,glue)) lst)))
(define (state-unwrap state)
(let ((word (state->value state (ns (op ? cw)))))
(tv: word)))
(define macro-word? word?)