Write recursive Clojure functions with obvious base cases, safe recursive steps, and clear stack trade-offs before reaching for loop/recur or reduce.
A recursive function is just a function that calls itself. In Clojure, the important question is not “can I write recursion?” but “is this recursion safe and readable?”
recur) when you would otherwise risk stack overflow.reduce or sequence functions unless recursion is clearer.Java mental model: many “recursive” problems in Java are solved with loops. In Clojure, the first choice is often sequence transformations, and explicit recursion is reserved for when it improves clarity.
This section helps you write recursion that future readers can trust.