[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: For the Record
- To: RPG@SAIL.STANFORD.EDU
- Subject: Re: For the Record
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 11 Jan 87 22:31 PST
- Cc: common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: Dick Gabriel <RPG@SAIL.STANFORD.EDU>'s message of 10 Jan 87 21:01 PST
- Sender: Bobrow.pa@Xerox.COM
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?
I don't think this should be disallowed. I think argument checking
should be done, and an error signalled if types of discriminated
arguments have changed. In most simple cases, I would think this check
can be compiled away (no rebinding or setting of the incoming arguments,
and the name used in the call). An (ugly) alternative is to provide
keyword syntax of some sort for changing just those arguments desired
(call-next-method x new-value-of-x).
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}*) }*)
In case I wasn't clear, I like this extension too. The only question
was whether we should have a patter language, and always use Lisp in a
subfunction.
danny