A lambda list is a list that specifies a set of parameters (sometimes called lambda variables) and a protocol for receiving values for those parameters.
There are several kinds of lambda lists.
| Context | Kind of Lambda List |
|---|---|
| defun form | ordinary lambda list |
| defmacro form | macro lambda list |
| lambda expression | ordinary lambda list |
| flet local function definition | ordinary lambda list |
| labels local function definition | ordinary lambda list |
| handler-case clause specification | ordinary lambda list |
| restart-case clause specification | ordinary lambda list |
| macrolet local macro definition | macro lambda list |
| define-method-combination | ordinary lambda list |
define-method-combination :arguments option | define-method-combination arguments lambda list |
defstruct :constructor option | boa lambda list |
| defgeneric form | generic function lambda list |
| defgeneric method clause | specialized lambda list |
| defmethod form | specialized lambda list |
| defsetf form | defsetf lambda list |
| define-setf-expander form | macro lambda list |
| deftype form | deftype lambda list |
| destructuring-bind form | destructuring lambda list |
| define-compiler-macro form | macro lambda list |
| define-modify-macro form | define-modify-macro lambda list |
Figure 3–11 lists some defined names that are applicable to lambda lists.
lambda-list-keywords lambda-parameters-limit