Ну, похоже, у тебя есть как минимум две проблемы. Во-первых, ваше условное выражение всегда будет возвращать true (при условии, что (f x0)
возвращает числовое значение), так что это, скорее всего, не то, что вы хотите сделать.
Кроме того, чтобы правильно реализовать рекурсивные функции в clojure, вам следуетвзгляните на recur , в противном случае вы можете столкнуться с переполнением стека (маловероятно, но все же)
Другая незначительная вещь, вместо выполнения (+ n 1)
, идиоматично использовать(inc n)