[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Various Topics Discussed Last Week
- To: common-lisp-object-system@SAIL.STANFORD.EDU
- Subject: Re: Various Topics Discussed Last Week
- From: Patrick H Dussud <DUSSUD%Jenner%csl.ti.com@RELAY.CS.NET>
- Date: Tue, 29 Sep 87 14:26:14 CDT
- In-reply-to: Msg of Mon, 28 Sep 87 17:05 EDT from "David A. Moon" <Moon@scrc-stony-brook.arpa> Date: Mon, 28 Sep 87 17:05 EDT From: "David A. Moon" <Moon@scrc-stony-brook.arpa> Subject: Various Topics Discussed Last Week
Date: Mon, 28 Sep 87 09:42:29 MST
2) On blocks in methods:
I agree that Alternative 1 would be best. Users who want something
different can either use a :AROUND method, as Moon suggested, or
program their own generic function dispatching function, using
the metaobject protocol.
Since we all seem to be agreed on this, I added the following to my
clos-decisions file, which can be used as a resource to make sure
we don't forget to document this decision:
2-34 Add to Remarks field: The body of (DEFMETHOD -name- ...) is surrounded
by an implicit block named -name-, if that is a symbol, or -name1-, if
-name- is (SETF -name1-), by analogy with DEFUN. The same applies to
methods defined by the :METHOD option to DEFGENERIC, GENERIC-FLET,
GENERIC-LABELS, and WITH-ADDED-METHODS. There is no implicit block around
the body of a method defined by the :METHOD option to GENERIC-FUNCTION.
Dissenters speak now.
I agree with this.
7) On NEXT-METHODS:
The primary reason is for being able to tell if calling CALL-NEXT-METHOD
would signal an error. I understand Masinter's concern, and wonder if
perhaps it might not be better to handle this with Ken Pitman's error
proposal. Other than finding out whether a call to CALL-NEXT-METHOD is
valid, there isn't much use for the list of next methods, as Masinter
has pointed out.
I have no real opinion on this, but we could change this to NEXT-METHOD,
which returns the method object that CALL-NEXT-METHOD would call if
there is one, and returns NIL if CALL-NEXT-METHOD would signal the
no-more-methods error. Then we wouldn't have to worry about the
implications of consing, rplac'ing, and looking at the list.
I don't have objections to that, we could even make it a predicate,
NEXT-METHOD-P returns T if there is a next method, and NIL otherwise.