Применение Y-Combinator к рекурсивной функции с двумя аргументами в Clojure?

Выполнение Y-Combinator для функции отдельного аргумента, такой как факториал или fibonacci в Clojure хорошо документируется: http://rosettacode.org/wiki/Y_combinator#Clojure

Мой вопрос - как дела это для двух функций аргумента, таких как этот метод считывания, например?

(Предположение вот - то, что я хочу решить эту проблему рекурсивно, и этот неидиоматический код clojure там сознательно по другой причине),

[не y-combinator версия]

(defn get_ [n lat]
    (cond
      (empty? lat) ()
        (= 0 (- n 1)) (first lat)
        true (get_ (- n 1) (rest lat))))

(get_ 3 '(a b c d e f g h i j))

5
задан hawkeye 14 August 2010 в 11:30
поделиться