Order of Evaluation
Evaluation order should be left to right
(defmacro and* (a b)
`(let ((temp2 ,b) (temp1 ,a))
(if (not temp1) nil
(if (not temp2) nil temp2))))
(and* (setq x 2) (setq x 3))
;; Returns 3 but x is 2!
Previous slide
Next slide
Back to first slide
View graphic version