不動点コンビネータ
fixed point combinator
不動点コンビネータ g
に対して以下が成り立つ
任意の関数 f
に対し、
p = g(f)
とすると、
f(p) = p
が成立する
これは以下のように言い換えられる
任意の関数 f
に対し、 f(g(f)) = g(f)
が成り立つ
要するに、任意の関数 f
を不動点コンビネータに適用することで、不動点が求められる
例
無名関数で再帰を行っている
参考
不動点コンビネータにより再帰を実現できることの証明
いくつかの不動点コンビネータの例