Next: expander lexenv internal, Previous: expander lexenv prim, Up: expander lexenv [Index]
The data describing syntactic bindings established by a library is
stored in a library
object:
rename
clause is used in the import
clause: the
imported name equals the exported name and it is taken from the
export-subst
field of the library
object. The
export-subst
maps exported names to label gensyms; it is an alist
whose entries have format:
(?exported-name . ?label)
global-env
field of the library
object. The global-env
maps label
gensyms to their binding descriptors; it is an alist whose entries have
format:
(?label . ?binding-descriptor)
library
object is created and
the fields export-subst
and global-env
are used to build
the label gensyms by storing the descriptors in the value
slots
of the gensyms.
rib
object representing the
current lexical context.
• expander lexenv imported inspect: | Inspecting descriptors. | |
• expander lexenv imported variables: | Global variables. | |
• expander lexenv imported nvmacros: | Non-variable macros. | |
• expander lexenv imported vmacros: | Variable macros. | |
• expander lexenv imported etv: | Expand-time values. | |
• expander lexenv imported stn: | Struct-type names. | |
• expander lexenv imported rtn: | Record-type names. | |
• expander lexenv imported modules: | Module interfaces. | |
• expander lexenv imported fluids: | Fluid syntaxes. | |
• expander lexenv imported synonyms: | Synonym syntaxes. | |
• expander lexenv imported examples: | Example library. |
Next: expander lexenv internal, Previous: expander lexenv prim, Up: expander lexenv [Index]