#Calc 1.2.10.1 その 5
リソース化完了。
最近、継続と末尾再帰の最適化の実装に興味が沸いてきた。といってももちろんすぐに #Calc でこれらをやるつもりは全くない。ただ、継続が第一級オブジェクトでない C# という言語によって継続をサポートする言語を実装するにはどうするか、ということに興味があるのだ。
Lisp のようにプログラムの構造がはっきりしている言語だと少しはやりやすいのかなぁ。でもやはり今の #Calc の実装のようにインタプリタパタンで解釈実行している限りは (末尾再帰はできるとしても) 継続の実装はかなり難しかろう。中間コードに変換してプログラムカウンタを使って実行するようにすれば、実行時のコールスタックを取っておくだけでいいのかな。
| 固定リンク
コメント