O'Reilly logo
  • Leandro Gonçalves de Oliveira thinks this is interesting:

2. You saw that and is implemented as a macro. Implement or as a macr

From

Cover of Clojure for the Brave and True

Note

(defmacro my-or ([] true) ([exp] exp) ([h & t] `(let [h# ~h] (if h# h# (my-or ~@t)))))

(my-or false false nil :found :found-again nil false)