Lambda lists » Kinds and keywords matrix

Name &whole &environment (required) &optional &rest &body &key &aux
ordinary
defun, lambda
generic function
defgeneric
  • D: ∅
  • D: ∅
specialized
defmethod
  • Specializer
destructuring
destructuring-bind
macro
defmacro
  • Top-level only
boa
defstruct
defsetf
deftype
  • Top-level only
  • D: *
  • D: *
define-modify-macro
define-method-combination
arguments

Lambda lists » Kinds hierarchy

ordinary
  • ✔ required
  • ✔ &optional
  • ✔ &rest
  • ✔ &key
  • ✔ &aux
generic function
  • ✘ &aux
  • ⇄ Default: ∅
specialized
  • ⇄ Specializer
destructuring
  • ✔ &whole
  • ✔ &body
  • ⇄ Recursive
macro
  • ✔ &environment
  • ⇄ Recurse: destructuring
deftype
  • ⇄ Default default: *
boa
  • ∅ No syntactic changes
defsetf
  • ✘ &aux
  • ✔ &environment
define-method-combination arguments
  • ✔ &whole
define-modify-macro
  • ✔ &optional
  • ✔ &rest

Lambda lists » Keywords

Name Arity Accepted by
&whole 1
  • destructuring
  • macro
  • deftype
  • define-method-combination arguments
&environment 1
  • macro
  • defsetf
  • deftype
(required) any All
&optional any All
&rest 1 All
&body 1
  • destructuring
  • macro
  • deftype
&key any All except define-modify-macro
&allow-other-keys 0 All those accepting &key
&aux any All except:
  • generic function
  • defsetf
  • define-modify-macro