Next: , Previous: , Up: expander lexenv internal   [Index]


15.3.6.11 Internal syntactic bindings: begin-for-syntax code

Each use of begin-for-syntax generates expand–time code; when this code is defined at the top level: it must become visit code to be added to compiled libraries. Whenever a begin-for-syntax use is expanded the following entry is pushed on the LEXENV:

(?unused-label . (begin-for-syntax . ?visit-code))

where: ?unused-label is a dummy label gensym which is not bound in the current rib; ?visit-code is a full core language expression representing the expanded contents of the begin-for-syntax use.