[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
setf order of evaluation
(setq r '(a 1 b 2 c 3))
(setq s r)
(setf (getf r 'b) (progn (setq r nil) 6))
what is the value of R and S?
Note that P97 of CLtL states that SETF guarantees the
left-to-right order of evaluation of its arguments.
(yes, i know it is crufty to change R).
Both Symbolics and Lucid seem to generate
R = (B 8) and S = (A 1 B 2 C 3)
which implies that the second argument of setf
is evaluated first. What did I miss?
IBM T.J. Watson Research Center
Yorktown Heights, N.Y. 10598