;; implicit eval ($define! $or? ($mac (x y) ($let ((temp (gensym))) `(,$let ((,temp ,x)) (,$if ,temp ,temp ,y))))) ;; explicit eval ($define! $or? ($vau (x y) env ($let ((temp (eval x env))) ($if temp temp (eval y env)))))