[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Order of evaluation in PUSH
- To: labrea!common-lisp@sail.arpa
- Subject: Order of evaluation in PUSH
- From: ibuki!weaver@labrea.stanford.edu (Eric Weaver)
- Date: Wed, 20 May 87 17:19:21 pdt
Date: Wed, 20 May 87 13:57:56 -0700
From: labrea!peck@Sun.COM
In the form: (push (ref1) (car (ref2)))
It is unclear whether (ref1) should be evaluated before (ref2).
....
Lucid and Franz evaluate (ref2) then (ref1)
Symbolics evaluate (ref1) then (ref2)
KCL falls in the former group:
(macroexpand '(push (ref1) (car (ref2)))) =>
(LET* ((#:G7 (REF2)) (#:G8 (CONS (REF1) (CAR #:G7))))
(PROGN (RPLACA #:G7 #:G8) #:G8))