Next: expander lexenv internal modules, Previous: expander lexenv internal vmacros, Up: expander lexenv internal [Index]
A syntactic binding representing a keyword binding associated to an expand–time value has descriptor with format:
(local-etv . (?object . ?expanded-expr))
where: ?object is the actual value computed at expand time; ?expanded-expr is the result of fully expanding the right–hand side of the syntax definition. ?object 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-expand-time-value
.