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...) Usage 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}.
Expression:
Arguments
Name
Type
Description Argument: name Symbol
The name that the Lambda will be associated with. Argument: (arg...) ---
Optional Argument. Argument list for the Lambda. Argument: faces:(var...) Symbol
Optional Argument. If present, must be followed by a interfaces feature list. Argument: vars:(var...) Symbol
Optional Argument. If present, must be followed by a local variable list. Argument: pvars:(var...) Symbol
Optional Argument. If present, must be followed by a persistent variable list. Argument: cvars:(var...) Symbol
Optional Argument. If present, must be followed by a persistent class variable list. Argument: regs:(var...) Symbol
Optional Argument. If present, must be followed by a register variable list
(up to fifty register variables are allowed). Argument: exp... ---
The Lisp statements that forms the Lambdas
Returns:
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.
Lambda | Symbol |
Here are also a number of links to functions having arguments with any of these data types.
Analytic Information Server (AIS)AIS Component Systems
|