From: Yukihiro Matsumoto Date: 2007-05-21T22:12:09+09:00 Subject: [ruby-dev:30801] Re: tail call optimization まつもと ゆきひろです In message "Re: [ruby-dev:30800] tail call optimization" on Mon, 21 May 2007 14:23:38 +0900, SASADA Koichi writes: |(1) これでRubyでも関数型プログラミングが出来るぞ,とふれまわる |(2) Rubyに合わないから機能をなかった事にする(消す) |(3) 知っている人しか使わないような,隠し機能にする |  例えば ObjC 拡張や python like ブロックとかと同じ |(3') とりあえず入れておくが,もうちょっと,仕様を検討する (4) 入れるし使うけど別に触れ回ることまではしない くらいでいかがでしょう? 仕様については問題ないんじゃないかと 思います。Rubyの場合、aliasとかあるんで本当に再帰なのか判定 するのにコストがかかりますから、jumpへの最適化は結構難しいん でないかと思いますし。 ちょっと考えたのは、 recall というキーワードを用意して、 recall(args)で自分自身を呼び出し(jumpに最適化できる)というの はどうでしょうねえ。