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]