From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-08-12T12:37:41+09:00 Subject: [ruby-dev:103] Re: tail recursion (Re: LaTeX ruby documents) けいじゅ@日本ラショナルです. In [ruby-dev :00101 ] the message: "[ruby-dev:101] tail recursion (Re: LaTeX ruby documents) ", on Aug/12 10:48(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >ruby-devにうつりましょう. # こういう時っていきなり移っていいもんなんですかねえ? >|でも, エンドリカーシブの最適化を行ってくれる方がもっとありがたいな. > >いやあ,いろいろ考えたんですけど,いまんところ実装できていま >せん.なんか良い方法は無いもんですかねえ. >現在,テールリカージョンができない最大の理由は > > Cから(マシンレベル)スタックを操作できない > >ところにあります. むむ... >普通テールリカージョンを実装している言語では自前でスタックを実装して >いたりするんですが,rubyでは高速化のためにマシンスタックをそのまま使っ >ているんです. テールリカージョンの実装でスタック操作を行う理由が良く分からんのですが... 構文解析時にテールリカージョンであると分かったら, 再帰をループに変換す るんじゃないんですか?? >以前,テールリカージョンが実装できるように1ヶ月くらいかけて >ソフトウェアスタックを使う版を作ったことがあるのですが,全体 >の実行速度がかなり低下してしまったので,捨ててしまいました. 幻のバージョンですね.... バイトコードにまでしたんですよね? __ ..........................................石塚 圭樹@日本ラショナル... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---