16.2 General Macro Transformers

The define-syntax form creates a transformer binding for an identifier, which is a binding that can be used at compile time while expanding expressions to be evaluated at run time. The compile-time value associated with a transformer binding can be anything; if it is a procedure of one argument, then the binding is used as a macro, and the procedure is the macro transformer.

    16.2.1 Syntax Objects

    16.2.2 Macro Transformer Procedures

    16.2.3 Mixing Patterns and Expressions: syntax-case

    16.2.4 with-syntax and generate-temporaries

    16.2.5 Compile and Run-Time Phases

    16.2.6 General Phase Levels

      16.2.6.1 Phases and Bindings

      16.2.6.2 Phases and Modules

    16.2.7 Tainted Syntax