Jun Inoue
jun.l****@gmail*****
2005年 8月 17日 (水) 14:10:09 JST
On Tue, 16 Aug 2005 04:04:28 +0900 Kazuki Ohta <mover****@hct*****> wrote: > test-quoteの方は何か違う問題臭いのですが、一応確認頂けますでしょうか? > test-r4rs.scmの方のテストは指摘したモノ意外はパスしていて、素晴らしいです! r4rs の SECTION(4 2 6) は全部通るようになりました。(x . ,y) も unquote しないといけなかったんですね。知りませんでした。 test-quote の方は…えー、私のしょぼいミスでしたごめんなさい。 qquote_vector() の最後で、既に Scm_NewVector() に渡していたポインタをも う一度渡して vector オブジェクトを作っていたので、その領域が二度解放され ていたからでした。 ;; 何で投稿前に発現しなかったのか不思議なところですが。 ;; と思ってたら sweep_obj() を実験のためにいじってたからでした。あほだ… > 評価順序については、今のままで良いと思います。問題が露呈した場合に対処し > ましょう。 了解です。 > > 型 ID の宣言の横にちゃんとコメントを書いておけば処理の流れがわからないと > > いう混乱は十分防げると思います。 > もちろんそれでも良いんですが、適切な名前を思い付かないのですよね...説明を書けば > 良いとは思うのですが、説明なんてきちんと読まれる訳が無いので適切な名前を付けた > いんですよね。 名前ですか…あんまり考えてませんでした。初期化関数と ScmOp_eval() ぐらい でしか使われないことを考えると多少長くても構わないはずなので、私なら FUNCTYPE0-5 (今のまま) FUNCTYPE_EVALED_LIST (map eval して作ったリストをもらう) FUNCTYPE_UNEVALED_LIST (評価してない引数リストをそのままもらう) FUNCTYPE_UNEVALED_LIST_TAIL_REC (評価してない引数リストをもらって末尾再帰) FUNCTYPE_UNEVALED_LIST_OPT_TAIL_REC (評価してない引数リストと tail_flag をもらう) みたいにします。ただしこれ全部を同時に使うわけじゃなくて、それぞれこうい う種類をつくるとしたらこういう名前、ということです。_LIST とか _REC と かは冗長なので省くのもいいでしょう。 理由としては、名前だけで使途が判断可能にできるほど情報量が少なくないこと と、上記の名前でもコメントさえ読んで一度理解すれば全部簡単に覚えられるこ とです。宣言部とか簡単に見つけられるところに説明書いてるのに読まない、と いうのは読む側の怠慢だと思ってるので… でもそう言い出すと、コーディングスタイルにも食い込む話ですので、気に入ら なければ「やだ」っていうだけで却下してくださっても構いません。 -- Jun Inoue jun.l****@gmail*****