|
defmacro
|
The defmacro macro creates a Macro object, assigns it to the specified variable
{name} in the global environment, and returns the newly created Macro object.
The new Macro object is assigned to the specified global variable name {name} ,
and will be invoked by the morph function during the macro substitution phase
of compilation (see the lisp, morph, and compile functions).
The defmacro macro results in the following substitution:
(define macro: (name arg...) faces:(var...) vars:(var...) pvars:(var...) cvars:(var...)
regs:(var...) exp...) 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.
(defmacro name(arg...) faces:(vars...) 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?