[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
For the Record
- To: common-lisp-object-system@SAIL.STANFORD.EDU
- Subject: For the Record
- From: Dick Gabriel <RPG@SAIL.STANFORD.EDU>
- Date: 10 Jan 87 2101 PST
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-