;; Public interface to macro language.

#lang scheme/base
(require
 "tools.ss")

(require/provide
 "coma/target-scat.ss"  ;; scat-like assembler expressions
 "coma/core.ss"         ;; literal + compile + exit
 "coma/language.ss"     ;; most of the Forth language definitions
 
 "coma/macro-prim.ss"       ;; primitives written in scat
 "coma/macro-utils.ss"      ;; scat utilities for code generation
 "coma/macro-syntax.ss"     ;; scheme macros for definitions and functions

 "coma/macro-eval.ss"       ;; macro evaluation 
 
 "coma/pattern.ss"          ;; pattern matching macros
 "coma/pattern-runtime.ss"
 "coma/pattern-meta.ss"

 "coma/constants.ss"

 )


(define-sr (macro> . code)
  (print-macro-code (macro: . code)))

(provide macro>)

(loading "coma")
