λ計算おもしろい

Yコンビネータについてさっぱり理解できないまま終わってたけど、数学的な面から考えると分かりやすいような気がした。
F.Ko-Jiの「一秒後は未来」-Yコンビネータについて調べてみた


λ式ではYコンビネータ

λf.(λx.f(xx))(λx.f(xx))

って表現されるけど、これをそのままSchemeのコードに書き換えて

(lambda (f)
  ((lambda (x) (f (x x)))
   (lambda (x) (f (x x)))))

ってしたら計算が停止しなかったよ。(´・ω・`)ショボーン


カリー化なんかも手続き型言語には馴染みのない概念だったりするけど、λ計算ではλxy.Mをλx.(λy.M)に変形することらしい。
確かに!


λ計算おもろ!