forth/parser.ss
#lang scheme/base

;; Misc forth syntax utilities.

(require
 "../tools.ss"
 "../scat.ss"
 (for-syntax
  "parser-tx.ss"
  scheme/base))

(provide
 (all-defined-out))


;; Analogous to the 'compositions' macro, this performs compile time
;; substitutions.

(define-sr (substitutions ns
             ((name pat ...) temp) ...)
  (begin
    (define-syntax-ns ns name
      (forth-rules () ((_ pat ...) temp))) ...))