2 Syntax
Portions of the call to a macro are substituted into part of the macro definition to create the expansion. This substitution preserves the meanings of names. In other words, each name inserted into the expansion from the macro call refers to the same binding that it referred to in the call, and each name inserted into the expansion from the macro definition refers to the same binding that it referred to in the definition.
A macro is named by a binding and thus is available for use wherever that binding is visible. There are three kinds of macros: defining macros, which extend the available set of definitions; statement macros, which extend the available set of statements; and function macros, which look syntactically like function calls but have more flexible semantics.
Generated with Harlequin WebMaker