[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(setf (apply #'foo ...) ...)
- To: HEDRICK@RUTGERS
- Subject: (setf (apply #'foo ...) ...)
- From: Glenn S. Burke <GSB@MIT-MC>
- Date: Sun, 5 May 85 23:01:39 EST
- Cc: common-lisp@SU-AI
[oohhh, unbalanced parentheses hurt my eyes!!! Was that message complete?]
What you say is true, but... The primary utility of SETF of APPLY is
with those things like AREF which take a variable number of arguments;
as a result, the inversion functions for them typically take the value
first rather than last, e.g.
(SETF (AREF a i j k ...) v) ==> (ASET v a i j k ...)
so you sort of get stuck with having to do the LET-binding hair anyway.
I don't know what your SETF code is like. NIL uses a SETF i wrote
which utilizes a slightly hacked version of the moon/bawden code
analysis and variable-substitution stuff. My experience is that it
does sufficiently well to rarely produce completely superfluous
bindings, and the rest are usually necessary or worthwhile. Should i
take it that your setf makes no use of code analysis/simplification
stuff?