Agreement on Parameter Specializers and Qualifiers (ANSI and GNU Common Lisp Document)

Next: Congruent Lambda-lists for all Methods of a Generic Function, Previous: Introduction to Methods, Up: Generic Functions and Methods

#### 7.6.3 Agreement on Parameter Specializers and Qualifiers

Two methods are said to agree with each other on parameter specializers and qualifiers if the following conditions hold:

1.

  Both methods have the same number of required parameters. Suppose the parameter specializers of the two methods are P_{1,1}... P_{1,n} and P_{2,1}... P_{2,n}.

2.

  For each 1<= i<= n, P_{1,i} agrees with P_{2,i}. The parameter specializer P_{1,i} agrees with P_{2,i} if P_{1,i} and P_{2,i} are the same class or if P_{1,i}=`(eql object_1)`, P_{2,i}=`(eql object_2)`, and `(eql object_1 object_2)`. Otherwise P_{1,i} and P_{2,i} do not agree.

3.

  The two lists of qualifiers are the same under equal.