Я пытаюсь рекурсивно изменить список, но я получаю Can only recur from tail position
при запуске. Что это значит точно и как мой код может быть улучшен, чтобы он работал?
(defn recursive-reverse [coll]
(loop [coll coll]
(if (< (count coll) 2) '(coll)
(conj (first coll) (recur (rest coll)))
)))
ИЗМЕНИТЬ
Выход для решения Oscar. Он работает для списков, но не для векторов?
user=> (= (recursive-reverse [1 2 3 4 5]) (recursive-reverse '(1 2 3 4 5)))
false
user=> (= '(1 2 3 4 5) [1 2 3 4 5])
true
user=> (recursive-reverse [1 2 3 4 5])
[1 2 3 4 5]
user=> (recursive-reverse '(1 2 3 4 5))
(5 4 3 2 1)