末尾再帰

遅レスながら。
[id:sshi:20070724:p1]とかhttp://alohakun.blog7.fc2.com/blog-entry-812.htmlとかのコメント欄で語られていることがいまいち理解できない。

eagerに評価してやると末尾再帰最適化がかかってループになる

というのは何の話なのか?
末尾再帰形なら、eagerだろうがlazyだろうがループですよ?別段、なんか最適化っぽいことをしているわけでもないような気が・・・
末尾再帰形じゃないものをループに落とすのはまさに最適化っぽい話なので、そのへんはコンパイラの作りこみじゃないかと思うけど、そんなのは投下したリソースの量次第の世界じゃないかね。プログラミング言語パラダイムとか全然関係ない気がする。関数型言語でも、最適化で有名なstalinとかはどうなんだろうね。