[Anthy-dev 2354] Re: r5rs : SigSchemeのFUNC_TYPE整理

アーカイブの一覧に戻る

Kazuki Ohta mover****@hct*****
2005年 9月 4日 (日) 08:45:40 JST


太田です。

> * FUNCTYPE_EVALED_LIST
>   - 説明
>     - map_evalして作ったリストをargsに渡し、envには現在の環境を渡す
>   - 関数宣言
>     ScmObj func(ScmObj args, ScmObj env);
map_evalの返り値をvectorにしたら良いんじゃないか?と思いました。

こうする事でcalleeの方も引数の数のチェックが簡単に出来るし、何より
map_evalで生成される大量のconsセルが1個のベクターで済む様になります。

またScmObjInternalの圧縮をするとCARやCDRにもビット操作が一つ加わる
ことになるので、

for (list = args; !NULLP(list); list = CDR(list))
    hoge;

より、

for (int i = 0; i < VECTOR_LEN(arg); i++)
    hoge;

とやった方が、多少早くなると思います。どうでしょうかね、この方法?
変更がでかいのと、何か見落としている点がありそうなので投げてみました。

-------------------------------------------------
Kazuki Ohta : mover****@hct*****
-------------------------------------------------



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る