6

私は固定小数点コンビネータの世界に不慣れで、無名ラムダの再帰に使用されていると思いますが、実際にそれらを使用する必要はなく、頭を完全に包むことさえできませんでした。

Y コンビネータの Javascript の例を見たことがありますが、うまく実行できませんでした。

ここでの質問は、直感的な答えを誰かが与えることができるかということです:

  • 固定小数点コンビネータとは何ですか (理論的にだけでなく、いくつかの例のコンテキストで、そのコンテキストで固定小数点が正確に何であるかを明らかにします)?
  • Y-コンビネータ以外の固定小数点コンビネータにはどのようなものがありますか?

ボーナス ポイント:例が 1 つの言語だけでなく、できればClojureでもある場合。

アップデート:

Clojureで簡単な例を見つけることができましたが、それでも Y-Combinator 自体を理解するのは難しいと感じています。

(defn Y [r]
  ((fn [f] (f f))
   (fn [f]
     (r (fn [x] ((f f) x))))))

例は簡潔ですが、関数内で何が起こっているのかを理解するのは難しいと思います。提供されるヘルプは役に立ちます。

4

2 に答える 2