A user-defined defining macro is a macro that defines a definition in terms of other constructs. A call to a user-defined defining macro always begins with the word
define and includes the name of the defining macro. This name when suffixed by "
-definer" is the name of a visible binding whose value is the defining macro. The rest of the syntax of a call to a user-defined defining macro is determined by the particular macro. Some definitions include a body. Advanced programmers often define new defining macros as part of structuring a program in a readable and modular way.
A built-in defining macro is like a user-defined defining macro but is specified as part of the Dylan language. There are eight built-in defining macros:
define module, and
A special definition is a definition construct that is built into the grammar of Dylan. There is only one special definition:
An implementation can add new kinds of definitions as language extensions. Such definitions may be implemented as special definitions. However, they will more commonly take the form of user-defined definition macros that are the values of bindings exported by implementation-defined modules.
Generated with Harlequin WebMaker