2006-04-03から1日間の記事一覧

思いっ切りはみ出し

ある種 stress test? MIT/GNU Scheme と Scheme 48 では error になる。Gauche, Guile, STKlos では通る。SigScheme は現在 symbol lookup が不適切なので assertion failure が出る。Debug dump を見る限り expansion は問題なく行われている様子。 (let-sy…

format

うーむ…想定してたのと随分違う…。 scm_format(scm_err, "~s !~~ ~s: [lv ~%id] ~%s\n", (ScmObj)form, (ScmObj)pattern, (scm_int_t)level, (char*)reason);で (0 1) !~ #(x ...): [lv 2] wrong typeできるとか妄想してたんだけど、ScmObj print と C obj p…

gdb が無い。

Debug print のみで debug してるわけですが、そこで(確か)おくじさんの格言(違)。 それでデバッグコードにまたバグがあったりして涙が出そうになります。

(´・ω・`)=3

結局 call で alloca() の出る幕はありませんでしたとさ。残念。Buffer size をあらかじめ調べておいて malloc() した方が良い。Buffer size を記録しておくのが不経済なので realloc()。Gauche は compile と transcribe が連続で呼び出されるから stack に…

あっ

Macro の実装って TR_* series が 使 え な い ( ゚д゚)……あの interface 策定の苦労は一体…

C

ゴミ値を代入する初期化構文がほしい。 int f() { int i = __garbage(); return i; } /* ↑と等価 */ int g() { int i; return i; }

な ぜ だ !!!

二時間ぐらいかけて transcription を debug。何か無限再帰するんですよ、これが。transcribe_rec() 関数が寸分違わぬ引数で繰り返し呼ばれるんですね。 で、それで色々と debug print を仕込んで、あーでもないこーでもないと code を見直してたらね、どう…