[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: SETF-PLACES (version 1)
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Issue: SETF-PLACES (version 1)
- From: Jon L White <jonl@lucid.com>
- Date: Mon, 28 Nov 88 23:02:21 PST
- Cc: cl-cleanup@sail.stanford.edu
- In-reply-to: David A. Moon's message of Tue, 22 Nov 88 19:49 EST <19881123004923.5.MOON@EUPHRATES.SCRC.Symbolics.COM>
re: Similarly, LABELS and FLET should accept "specs", since GENERIC-LABELS
and GENERIC-FLET do. This would eliminate the non-portability of
the FLET of setf:3.bar.middle-ref example.
I don't think so. The point of the non-portable example was just to
illustrate the implementational structure of one kind of underlying
name, and its consequences outside the demands of CLOS. In real CLOS
usage, GENERIC-FLET would be used rather than FLET; and that kind of code
would be portable [and it *is* the needs of CLOS that is the excuse for
doing this kludge now -- not because we think it is such a great thing
in its own right].
Also, SETF functions currently aren't accessible via FUNCTION or
SYMBOL-FUNCTION. Namely, you have to say (SETF (AREF ...) val); there
is no form that you can evaluate to get a functional definition for the
SETF method. By not making the world's most general extension here --
by admitting that you probably won't be able to define a generic setf
function portably with FLET, but instead will use GENERIC-FLET -- we are
not adding any limitations on what is currently doable in Common Lisp.
-- Jonl --