[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(setf (apply #'foo ...) ...)



[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?