[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
"Written Responses" to CLOS 88-002: SETF Functions
re: . . . Thus if new-value was the last argument,
it would be impossible for setf functions to have optional arguments, which
would be a serious hindrance. We considered schemes where the new-value
argument came between the required arguments and the optional arguments,
but rejected them as kludgey and error-prone.
Maybe we all "bought off" on that theory that one might need to specialize
on the "newvalue" argument; but if that really isn't sufficient grounds
for the incompatible change ("newvalue" argument being first rather than
last, such as defsetf would do, and such as Symbolic's setf functions do),
then perhaps more work needs to be put into the cl-cleanup proposal.
In fact, there seem to be a couple of lacunae in the motivation for "SETF
functions", as opposed to "function specs". Not only is there this issue
of why the difference in order of arguments from DEFSETF style, but it
needs to be stated somewhere that under this change no macroexpansion of
a form like (SETF (<non-special-form>) ...) will every fail -- there will
always be an alleged "setf function" that might be later defined to supply
the need; and the only error a user might ever see will be something like
"undefined function" when he actually tries to call it (or, "called, but
not defined" when the file is compiled).
These criticisms where discussed briefly very late in the day at the last
x3j13 meeting, and there were more that I can't remember; try asking
Sondra Loosemore about them. Maybe you could take a stab at fixing up
the cl-cleanup proposal?
-- JonL --