Как выполнить рекурсию в анонимной функции без хвостовой рекурсии

Как выполнить рекурсию в анонимной функции без использования хвостовой рекурсии?

Например (из Vanderhart 2010, стр. 38):

(defn power
  [number exponent]
  (if (zero? exponent)
    1
    (* number (power number (- exponent 1)))))

Допустим, я хотел сделать это как анонимную функцию. И почему-то я не хотел использовать хвостовую рекурсию. Как бы я это сделал? Например,:

( (fn [number exponent]......))))) 5 3)
125

Могу ли я использовать для этого цикл или цикл можно использовать только с recur ?

19
задан Óscar López 26 July 2012 в 03:32
поделиться