;;;; A macro that expands into a call to itself and does not get smaller. The ;;;; expansion of a recursive macro is an ordinary loop and this is the one ;;;; that does not terminate, so it is bounded and the bound says which macro ;;;; ran out rather than the compiler running out of memory. (defmacro spin [args] `(spin ~@args)) (defn main [] i32 (spin) 0)