λ計算で世界征服
この発想はなかった! http://d.hatena.ne.jp/gomi-box/20080201/1201836625
サイトウサン抽象を計算機プログラムに変換すると、つまりこういうことか。
征服されないケース
(define サイトウサン (lambda (x) (x x))) (サイトウサン サイトウサン)
これだと、末尾最適化されてサイトウサンが増えず、平和が保たれる。
征服されるケース
(define サイトウサン (lambda (x) (x (x x)))) (サイトウサン サイトウサン)
こっちだと、末尾最適化ができないので世界(スタック)はサイトウサンに征服される。
追記
はやみずくんの指摘 悲しいけど、それ、関数適用の順番ちがうのよね
あうー。確かにね、適用順序どっちだっけって迷ったんだけど、征服されるのはどっちも同じだからいいか。と思って、こうしちゃったのね。
指摘サンクス!!