Ballotの結果なんかは追っているので、もしR7RSで検索してたどり着いたのであればそちらを見ていただきたい。
Sagittariusは6thドラフトに追従していないので5thドラフトから変更となるが、まぁ問題はないだろう。7thドラフトは個人的に割りとインパクトが大きくて、ライブラリの修正だけではなく、コンパイラもいじらないといけない。以下に自分用のメモも兼ねて修正ポイントを記載する。
【コンパイラ】
include-library-declarations
define-library
構文に追加になった。include先のライブラリのexport
句のみを対象に持ってくる。単なる便利構文。正直、いるかこれ?と思っている。
(scheme base)
- いろいろな手続きが削除、移動になった。
(scheme cxr)
- cxxr以上の手続きが
(scheme base)
から取り除かれてこっちに移動。 (scheme char normalization)
- Unicodeサポートが必須じゃなくなったので削除。
(scheme division)
- たしか6thドラフトの段階で消えてた気がする。
(scheme r5rs)
- R5RSコンパチライブラリ。(7thからだったかな?記憶あいまい)
(scheme lazy)
delay-force
が追加になった。
include-library-declarations
は個人的に非常に醜いと思うのでできれば入れたくないが、たぶんファイルに残るだろうなぁ。【文字と文字列】
勘違いしていたことと、やはり納得がいかないので一応。
7thドラフトで文字列がサポートしなければならない範囲が明確に定義された。処理系は最低でも「NULLを除いたASCII文字の文字列」のサポートしなければならない。 まぁ、ここまではいいだろう。ただ、「文字列を文字の集合」として捉えた際に現状のドラフトでは不整合がでる。なぜか?問題はこの一文;
All Scheme implementations must support at least the ASCII character repertoire: that is, Unicode characters U+0000 through U+007F.7thドラフトでは明確に文字がサポートしなければならない範囲にNULLが含まれているが、文字列ではNULLを省いていいよって言ってるのだ。
No comments:
Post a Comment