我是fixed-point combinators的新手,我猜他們習慣在匿名lambda上遞歸,但我並沒有真正使用它們,甚至無法將我的頭完全包裹在它們周圍。定點組合器
我在Javascript中看到了一個例子Y-combinator,但一直未能成功運行它。
這裏的問題是,能有一個人給一個直觀的答案:
- 什麼是固定點組合,(不只是理論上的,但在一些實例方面,揭示究竟是什麼固定在這方面點)?
- 除Y-組合器之外,還有哪些其他類型的定點組合器?
積分:如果示例不只是一種語言,優選在的Clojure爲好。
UPDATE:
我已經能夠找到一個簡單的例子在Clojure,但仍很難理解的Y Combinator的本身:
(defn Y [r]
((fn [f] (f f))
(fn [f]
(r (fn [x] ((f f) x))))))
雖然例子是簡潔,我發現很難理解函數中發生了什麼。任何幫助提供將是有益的。
也http://stackoverflow.com/a/15523799/1333025見 – 2013-04-09 18:50:39