A generic function lambda list is used to describe the overall shape of the argument list to be accepted by a generic function. Individual method signatures might contribute additional keyword parameters to the lambda list of the effective method.
A generic function lambda list is used by defgeneric.
A generic function lambda list has the following syntax:
lambda-list | ::= |
({var}*
[ &optional {var | (var)}*]
[ &rest var]
[ &key {var | ({var | (keyword-name var)})}* pt [&allow-other-keys ]] )
|
A generic function lambda list can contain the lambda list keywords shown in Figure 3–14.
&allow-other-keys &optional &key &rest
A generic function lambda list differs from an ordinary lambda list in the following ways:
Zero or more required parameters must be specified.
Optional parameters and keyword parameters may not have default initial value forms nor use supplied-p parameters.
The use of &aux is not allowed.