不動点演算子
Posted feedbacks - OCaml
#2929 に書いたものそのままですが。
OCaml は正格評価なので y f = f (y f) と書くと止まりませんが、仮引数 x を与えてやって関数本体の計算開始を遅らせれば大丈夫です。
1 | let rec y f x = f (y f) x
|
不動点演算子
#2929 に書いたものそのままですが。
OCaml は正格評価なので y f = f (y f) と書くと止まりませんが、仮引数 x を与えてやって関数本体の計算開始を遅らせれば大丈夫です。
1 | let rec y f x = f (y f) x
|
matarillo
#5680()
Rating2/4=0.50
不動点演算子とは、関数を引数に取り、その関数の不動点を返すような関数です。 つまり、不動点演算子である関数gが関数fを引数に取るとき、 f(g(f)) = g(f) となります。
お題は不動点演算子を実装することです。(Yコンビネータを実装しても結構ですが、それ以外でも、コンビネータになっていなくてもOKとします)
see: Wikipedia
[ reply ]