apply と Boehm GC
apply
call-with-values の実装をしようと思って、いろいろ考えていたら内部実装の apply の引数が良くない気がしてきた。
apply(Objects* arguments, Environment* environment)
いまはこうなのだけど(Objects は Object の vector)
apply(Pair* arguments, Environment* environment)
こうした方が Scheme 側との親和性も高そうな気がする。
Boehm GC
./scheme test/test.scm test/test.scm:99: error: invalid application [#t] Application.cpp:31: debug: eval
とても悲しかった。
やったのは基底クラスを gc に
class Object : public gc
include
#include "gc_cpp.h"
コンパイルオプション
-I /usr/local/include/gc -DGC_OPERATOR_NEW_ARRAY -DGC_NOT_DLL
リンカオプション -lgc
GCの適用は来月の予定なのだけど不安だなあ。