Multiple Evaluation
This definition of OR evaluates A twice
(defmacro or* (a b)
`(if ,a ,a ,b))
Do it this way instead
(defmacro or* (a b)
`(let ((temp ,a)) (if temp temp ,b)))
Previous slide
Next slide
Back to first slide
View graphic version