There's quite a bit of overhead.
I believe Clojure does it with trampoline as JVM does not (as far as I know) does not support tail call optimization. Ironic, given Guy Steele.
Yes, Clojure doesn't have TCO either.
You get `(loop ... (recur ...))` or `trampoline`.
Naive recursion will consume the stack.
https://clojuredocs.org/clojure.core/loop
https://clojuredocs.org/clojure.core/recur
https://clojuredocs.org/clojure.core/trampoline
Yes, Clojure doesn't have TCO either.
You get `(loop ... (recur ...))` or `trampoline`.
Naive recursion will consume the stack.
https://clojuredocs.org/clojure.core/loop
https://clojuredocs.org/clojure.core/recur
https://clojuredocs.org/clojure.core/trampoline