19 lines
332 B
Clojure
19 lines
332 B
Clojure
(defn Y [f]
|
|
((fn [x] (x x))
|
|
(fn [x]
|
|
(f (fn [& args]
|
|
(apply (x x) args))))))
|
|
|
|
(def fac
|
|
(fn [f]
|
|
(fn [n]
|
|
(if (zero? n) 1 (* n (f (dec n)))))))
|
|
|
|
(def fib
|
|
(fn [f]
|
|
(fn [n]
|
|
(condp = n
|
|
0 0
|
|
1 1
|
|
(+ (f (dec n))
|
|
(f (dec (dec n))))))))
|