Clojure: простой факториал вызывает переполнение стека

Что я делаю неправильно? Простая рекурсия нескольких тысяч вызовов глубокого броска.StackOverflowError

Если лимит рекурсий Clojure настолько низок, как я могу на него положиться?

(defn fact[x]
  (if ( (fact 2)
2

user=> (fact 4)
24

user=> (fact 4000)
java.lang.StackOverflowError (NO_SOURCE_FILE:0)

Ответы на вопрос(9)

Ваш ответ на вопрос