λ計算で世界征服

この発想はなかった! http://d.hatena.ne.jp/gomi-box/20080201/1201836625

サイトウサン抽象を計算機プログラムに変換すると、つまりこういうことか。

征服されないケース

(define サイトウサン
  (lambda (x)
    (x x)))
   
(サイトウサン サイトウサン)

これだと、末尾最適化されてサイトウサンが増えず、平和が保たれる。

征服されるケース

(define サイトウサン
  (lambda (x)
    (x (x x))))
   
(サイトウサン サイトウサン)

こっちだと、末尾最適化ができないので世界(スタック)はサイトウサンに征服される。

追記

はやみずくんの指摘 悲しいけど、それ、関数適用の順番ちがうのよね

あうー。確かにね、適用順序どっちだっけって迷ったんだけど、征服されるのはどっちも同じだからいいか。と思って、こうしちゃったのね。

指摘サンクス!!