不動点演算子
Posted feedbacks - Haskell
Haskell は、まあほぼ自明なやつですが……
ついでに実行例でも:
Prelude> let y f = f $ y f Prelude> let fib_maker f x = if x <= 2 then 1 else f (x-1) + f (x-2) Prelude> let fib = y fib_maker Prelude> map fib [1..10] [1,1,2,3,5,8,13,21,34,55]
1 | let y f = f $ y f
|


matarillo
#5680()
Rating2/4=0.50
不動点演算子とは、関数を引数に取り、その関数の不動点を返すような関数です。 つまり、不動点演算子である関数gが関数fを引数に取るとき、 f(g(f)) = g(f) となります。
お題は不動点演算子を実装することです。(Yコンビネータを実装しても結構ですが、それ以外でも、コンビネータになっていなくてもOKとします)
see: Wikipedia
[ reply ]