|
Allegro CL |
ANSI Common Lisp 3 Evaluation and Compilation 3.4 Lambda Lists
3.4.5 Destructuring Lambda ListsA destructuring lambda list is used by destructuring-bind.Destructuring lambda lists are closely related to macro lambda lists; see Section 3.4.4 Macro Lambda Lists. A destructuring lambda list can contain all of the lambda list keywords listed for macro lambda lists except for &environment, and supports destructuring in the same way. Inner lambda lists nested within a macro lambda list have the syntax of destructuring lambda lists. A destructuring lambda list has the following syntax:
reqvars::= {var |
optvars::= [&optional {var |
(var [init-form [supplied-p-parameter ]])}*]
restvar::= [{&rest | &body} {var |
lambda-list}]
keyvars::= [&key {var |
({var | (keyword-name var)}
[init-form [supplied-p-parameter ]])}*
auxvars::= [&aux {var | (var [init-form ])}*]
envvar::= [&environment var]
wholevar::= [&whole var]
lambda-list::= (wholevar
reqvars
optvars
restvar
keyvars
auxvars) |
|