|
define(macro)
|
The define macro: special form allows the user to declare a new variable and
initialize it to a macro. The macro must receive zero or more arguments, and its body
may have zero or more expressions. In this form, define always returns the value
to which name is initialized (Note: this value will always be a macro object). A Lisp macro is an Lambda object which is used exclusively by the compiler in the
macro substitution phase (see the morph Function). A macro Lambda is normally
unavailable outside of the compilation process. During the compiler's substitution phase,
each macro is invoked with its unevaluated arguments. The value returned by the Macro
is substituted for the original macro reference in the source. When to use Use the define macro: function when you wish to create an in-line macro, which
expands its arguments, rather than invoking a function call.
(define macro:(name arg...) faces:(var...) vars:(var...) pvars:(var...)
cvars:(var...) regs:(var...) exp...) An Lambda that will be assigned the name {name}.
Here are a number of links to Lambda coding examples which contain this instruction in various use cases.
Here are the links to the data types of the function arguments. Here are also a number of links to functions having arguments with any of these data types.
You can always talk with the AIS at aiserver.sourceforge.net.
Name
Description
AIS Types name The name that the Lambda will be associated with. Symbol (arg...) Optional Argument. Argument list for the Lambda. --- faces:(var...) Optional Argument. If present, must be followed by a interfaces feature list. Symbol vars:(var...) Optional Argument. If present, must be followed by a local variable list. Symbol pvars:(var...) Optional Argument. If present, must be followed by a persistent variable list. Symbol cvars:(var...) Optional Argument. If present, must be followed by a persistent class variable list. Symbol regs:(var...) Optional Argument. If present, must be followed by a register variable list
(up to fifty register variables are allowed). Symbol exp... The Lisp statements that forms the Lambdas ---
Returns:
Examples
Argument Types
Lambda
Symbol
How do I contact the AIS team?