[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

For the Record



1. I like Moon's expanded pattern language proposal: It's
   the one where the third subform of define-method-combination
   becomes
   ({ (variable {qualifier-pattern}+ {keyword argument}*)
     | (variable predicate-symbol {keyword argument}*) }*)

2. I basically don't like pattern languages, but in this case
I believe the alternatives are worse. Many pattern languages I
know of use the character ``*'' to mean ``match 0 or more items.''
This minor objection can be ignored.

3. I believe Moon's analysis of make-method-combination and why
it makes sense to not explicitly pass the so-called ``id'' information.
Was I mistaken in believing that Moon's counter to Gregor's code should
have been:

    (define-method-combination mine ()
      ((methods (*)))
      (grovel-my-method-combination #'make-method-call methods))

    (defun grovel-my-method-combination (make-method-call methods)
      ..
      (funcall make-method-call methods :operator 'foo)
      ..)

4. Some potential users have asked me to bring up the subject of
CALL-NEXT-METHOD passing altered arguments to the next method.
This has been disallowed because the next method might get arguments
that don't conform to its parameter qualifiers. Is there further
discussion?

			-rpg-