関数型言語の勉強にSICPを読もう - (67) 4章 - 超言語的抽象(222ページ) C++でSchemeインタプリタを作ろう16
パフォーマンスが極端に遅い件は、意図せず動的束縛っぽくなっていたのが原因だった。
Environmentのコピーを渡すのが正解なところでリファレンスを渡していたので、ループでFrameががんがん追加されていってひどいことになっていたのが原因。
これがきっかけで、g:osdevj:id:osdevj:20060730:1154354757みたいな話も出たりで理解が深まってとても良かったと思う。
別件だけど現在サポートしている構文がきちんと意図通り動いているかを確認するための(Schemeの)テストスクリプトが、必要だと思い始めてきたので次は、スクリプトを書きます。
動きがGaucheと同じになれば良いという意味で正解があるから楽だなぁ。
計算機プログラムの構造と解釈
posted with amazlet on 06.05.31