エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ラムダとY Combinatorと私。Y Combinatorは恐ろしい子。 - Bug Catharsis
再帰的な関数を作る場合に、その関数に名前をつけずに定義するにはどうすればよいの?*1 というのがY Co... 再帰的な関数を作る場合に、その関数に名前をつけずに定義するにはどうすればよいの?*1 というのがY Combinatorの中心的話題のようだ。 つまり、不動点演算子を用いると、ラムダ式で再帰表現できるというお話。 f(x) = x なる x が不動点となるのであった。f(x) の具体的な式がわかれば不動点がわかるのは前述したとおりだが、わからない場合でもどうにかならないか、と考えてみる。そこで、この問題を抽象的に捉え、f(x) = x の条件を満たす x を算出する関数 g(f) を仮定してみるのだ。そうすると、f(x) = x なる x は g(f) であるので、x に g(f) を代入してもこの条件は成立するのであり、よって、f(g(f)) = g(f) が導かれる。 なんと、この f(g(f)) = g(f) が不動点演算子と呼ばれる、再帰を表す関数なのである。 元ネタフドーテンが倒
2009/02/11 リンク