Next: expander lexenv internal stn, Previous: expander lexenv internal modules, Up: expander lexenv internal [Index]
A syntactic binding representing a keyword binding associated to a
pattern variable, as created by syntax-case
and
syntax-rules
, has descriptor with format:
(pattern-variable . (?name . ?level))
where: ?name is the lexical gensym representing the name of the pattern variable; ?level is a non–negative exact integer representing the ellipsis nesting level.
The syntax-case
patterns below will generate the displayed
syntactic binding descriptors:
?a -> (pattern-variable . (?a . 0)) (?a) -> (pattern-variable . (?a . 0)) (((?a))) -> (pattern-variable . (?a . 0)) (?a ...) -> (pattern-variable . (?a . 1)) ((?a) ...) -> (pattern-variable . (?a . 1)) ((((?a))) ...) -> (pattern-variable . (?a . 1)) ((?a ...) ...) -> (pattern-variable . (?a . 2)) (((?a ...) ...) ...) -> (pattern-variable . (?a . 3))