Package: closer-mop

Function extract-lambda-list

Lambda List

extract-lambda-list (specialized-lambda-list)

Arguments

The specialized-lambda-list argument is a specialized lambda list as accepted by defmethod.

Return Value

The result is an unspecialized lambda list.

Details

This function takes a specialized lambda list and returns the lambda list with the specializers removed. This is a non-destructive operation. Whether the result shares any structure with the argument is unspecified.

If the specialized-lambda-list argument does not have legal syntax, an error is signaled. This syntax checking does not check the syntax of the actual specializer names, only the syntax of the lambda list and where the specializers appear.

Examples

(extract-lambda-list '((p position)))             ==> (P)

(extract-lambda-list '((p position) x y)) ==> (P X Y)

(extract-lambda-list '(a (b (eql x)) c &rest i)) ==> (A B C &OPTIONAL I)