Shiro Kawai
shiro****@lava*****
2006年 1月 26日 (木) 19:07:30 JST
From: YamaKen <yamak****@bp*****> Subject: [Anthy-dev 2803] r5rs: vector expression Date: Thu, 26 Jan 2006 18:21:32 +0900 > これらはいずれもR5RSでそうしろと書かれていますが、以下のように > quote必須、constにはしないのをデフォルトにしたいと思います このポリシーに関しては処理系作成者の都合で良いと思うのですが > constの方は利便性とlistとの一貫性のためです。R5RSでは '(a b c) > もconstとして扱う事を要求しているんですが、これはstorage-compact > ではそもそもビットが足りず実現できないし、書き換え可能listを全て > list procedureやlist-copy等で生成するのは繁雑すぎます。vectorも > 同様。 後半は、書き換える可能性のあるlistやvectorであっても初期値を リテラルとして書いておいてもいいよ、ということでしょうか。 だとしたら、思わぬバグの温床になるのでそのスタイルは避けて おいた方がいいと思います。つまり、たとえ処理系がリテラルlistや vectorの変更を許していたとしても、書き換えるlistやvectorは (listやlist-copy等を使って)明示的に実行時に生成するように 書くべき、ということです。 --shiro