ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 3 Evaluation and Compilation 3.4 Lambda Lists ### 3.4.5 Destructuring Lambda Lists A 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 | lambda-list`}`* 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 ]])`}`*[`& allow-other-keys`]`]` auxvars::= `[``&aux` `{`var | (var [init-form ])`}`*`]` envvar::= `[``&environment` var`]` wholevar::= `[``&whole` var`]` lambda-list::= (wholevar reqvars optvars restvar keyvars auxvars) | (wholevar reqvars optvars `.` var)

© Franz Inc. All Rights Reserved - File last updated 2022-07-25