Macro expander
Интерактивное демо «Macro expander».
Macro expander
Clojure / Lisp — макрос подставляет форму до eval
Исходник
(defmacro unless [test body] (list 'if test nil body))
(unless (= x 0) (/ 1 x))
macroexpand-1
… нажмите Expand
unless — sugar для (if test nil else)