[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SETF-FUNCTION-VS-MACRO (Version 1)
- To: Scott E. Fahlman <Fahlman@C.CS.CMU.EDU>
- Subject: SETF-FUNCTION-VS-MACRO (Version 1)
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Thu, 15 Oct 87 20:39 EDT
- Cc: CL-Cleanup@SAIL.STANFORD.EDU
- In-reply-to: <FAHLMAN.12342792040.BABYL@C.CS.CMU.EDU>
Date: Thu, 15 Oct 1987 20:21 EDT
From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
I have no problem with this proposal, except for the notion that the
name of the setf-function associated with FOO should be a list, (SETF
FOO).
Would it not be simpler to introduce a new setf-able access function
GET-SETF-FUNCTION which takes a symbol and returns the associated SETF
function?
The CLOS committee tried that for a long time, but it doesn't work.
Fundamentally the problem is that there has to be a name that the user
uses to define the thing and to talk about it. Trying to hide the name
just means you use a more obscure name, like an alternate syntax for
DEFUN or DEFUN-SETF or something.
The one problem I can see with this alternative proposal is that it
there is no very good way to do something like FLET for the setf
function if there is not a name-like entity that can be bound.
Precisely. That's the reason for making the name explicit.
I assume that this would not preclude the addition of something like the
function specs that are present on the Lisp machine?
Right. There could be other function names that are not symbols, however
we don't really need to propose any others for CLOS.
I assume that in either case one must use
an explicit funcall and not just drop this "name" into the car-position
of an expression to be evaluated.
Yes, the extra complexity of allowing something new in the car of a form
didn't seem to be justified. I guess I should have listed that among the
rejected ideas at the end.