Generic Function Lambda Lists (original) (raw)

ANSI Common Lisp 3 Evaluation and Compilation 3.4 Lambda Lists

3.4.2 Generic Function Lambda Lists

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)})}* [&allow-other-keys]]

A generic function lambda list can contain the lambda list keywords shown in the next figure.

Lambda List Keywords used by Generic Function Lambda Lists

&allow-other-keys &optional
&key &rest

A generic function lambda list differs from an _ordinary lambda list_in the following ways: