![[LISPWORKS]](../Graphics/LWSmall.gif)
![[Common Lisp HyperSpec (TM)]](../Graphics/CLHS_Sm.gif) 
 ![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.gif)
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.
&allow-other-keys &optional &key &rest
Figure 3-14. Lambda List Keywords used by Generic Function Lambda Lists
A generic function lambda list differs from an ordinary lambda list in the following ways:
![[Starting Points]](../Graphics/StartPts.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)