[previous] [up] [next]     [contents] [index]
Next: Threads Up: MzLib Libraries Previous: Strings

Syntax Rules

Files: synrule.ss, synrulec.ss

This library provides define-syntax, implementing the syntax-rules high-level macro system from the appendix of R4RS. This implementation of syntax rules can only be used withthe following syntactic forms: quote if begin set! define lambda letrec let let* do case cond. If any other form is used in the macro definition or macro application, the results are unpredictable.

Macros definitions using define-syntax are translated into equivalent define-macro expressions; however, the translated macros contain the following free variables (the macro defintions contain these expressions, not the expansions of applied macros):

These variables are defined by the synrule.ss library as keywords.

This library was contributed by Shriram Krishnamurthi, working from Dorai Sitaram's implementation.



PLT