Common Lisp the Language, 2nd Edition
![]()
Next: Keyword Arguments in
Up: Generic Functions and
Previous: Agreement on
Parameter

These rules define the congruence of a set of lambda-lists, including
the lambda-list of each method for a given generic function and the
lambda-list specified for the generic function itself, if given.
&rest or
&key, each lambda-list must mention one or both of
them.&key,
each method must accept all of the keyword names mentioned after
&key, either by accepting them explicitly, by
specifying &allow-other-keys, or by specifying
&rest but not &key. Each method can
accept additional keyword arguments of its own. The checking of the
validity of keyword names is done in the generic function, not in each
method. A method is invoked as if the keyword argument pair whose
keyword is :allow-other-keys and whose value is
t were supplied, though no such argument pair will be
passed.&allow-other-keys need not be consistent
across lambda-lists. If &allow-other-keys is mentioned
in the lambda-list of any applicable method or of the generic function,
any keyword arguments may be mentioned in the call to the generic
function.&aux need not be consistent across
methods.If a method-defining form that cannot specify generic function
options creates a generic function, and if the lambda-list for the
method mentions keyword arguments, the lambda-list of the generic
function will mention &key (but no keyword
arguments).

![]()
Next: Keyword Arguments in
Up: Generic Functions and
Previous: Agreement on
Parameter
AI.Repository@cs.cmu.edu