Jun Inoue
jun.l****@gmail*****
2005年 8月 26日 (金) 15:38:19 JST
On Fri, 26 Aug 2005 14:33:17 +0900 Kazuki Ohta <mover****@hct*****> wrote: > マクロの名前を変更するという事になると思います。custom的にSCM_AS_CONSと > いう名前にしようかと思っているのですが、ピンと来ますかね? 一応賛成。そもそもこれらのマクロは accessor マクロの定義部ぐらいでしか使 わないので、多少わかりにくくてもいいはず。SCM_CAST_TO_CONS でもいいかも。 > > ・(cond) ? SCM_TRUE : SCM_FALSE を簡略化するためのSCM_BOOLIZE(仮) > > マクロの導入 > これは反対です。 > [...] > いかがでしょう? 私も同様の理由で反対です。 > 懸案事項。 > ・tail recursionが起こった場合のback traceをどうするか > 現在はtrace_frameをScmOp_evalの先頭でスタック上に確保しているが、現状末尾 > 再帰が起こった場合にはtrace_frameを作成していない。ただ、mallocを使って確保 > するとオーバーヘッドが大きそう。最初に配列を動的に確保しておく?しかしその場合に > は継続との兼ね合いが微妙になる。難しい。 これは多分サポート不可能です。R5RS によれば、というか一般的に、 "proper tail recursion" の定義は末尾呼び出しがメモリを消費しないことですから、そ の末尾呼び出しの情報をどこかに保存していると、CPS なコードなんかがメモリ 不足で実行できなくなります。 -- Jun Inoue jun.l****@gmail*****