Next: expander lexenv internal etv, Previous: expander lexenv internal nvmacro, Up: expander lexenv internal [Index]
A syntactic binding representing a keyword binding with variable transformer has descriptor with format:
(local-macro! . (?transformer . ?expanded-expr))
where: ?transformer is a function implementing the macro transformer; ?expanded-expr is the expression in fully expanded code representing the right–hand side of the syntax definition. ?transformer is the result of compiling and evaluating ?expanded-expr.
For every top level binding of this type, the following symbolic expression is added to the visit code of the library being expanded:
(set! ?loc ?expanded-code)
where ?loc is the storage location gensym of the macro.
These syntactic bindings are established by define-syntax
,
let-syntax
and similar, when their right–hand side evaluates
to the return value of make-variable-transformer
.