KIMURA Shigenobu
skimu****@mac*****
2002年 11月 4日 (月) 04:38:43 JST
On 2002.Nov.3, at 03:52 US/Central, Shiro Kawai wrote: > Oleg Kiselyov氏から、「Schemeでの文字コード処理に関する > SRFIを書かない?」と誘われています。 > そのへんに意見のある方がいらっしゃいましたら一緒にやりませんか。 文字コード処理というと gauche.charconv 見たいなものを想像してしまいますが... > 何らかの形で、処理系の内部表現によらずに多バイト文字表現を > 等価的に扱うAPIが定義できれば良いんですが… でもmb-string-ref > とかを用意するのは嫌だなあ。 この点については R5RS の 6.3.4 Characters の振る舞いを適当に定義して 必要があれば char-multibyte? などを追加するだけでは済みそうな気もします。 文字が何かが決まれば、文字列の生成とアクセスは自然に決まるし、 比較 (string<? 等) は処理系依存ということにして、必要なら言語依存な ライブラリを作る。という方針。内部表現だけでなく、エンコーディングにも 依存しないものが作れると思います。(char-multibyte? という名前はカッコわるいけど) 入出力に関してはまた別に考えることにしましょう。 こちらはとても厄介。リテラルの取り扱い、#\あ とか (quote あいう) をどう読み込むかとか、賢く無い端末を使う時になにか対替表現 (#\mb<53794> 見たいな)を許すオプションとか必要なのかなど。 Character 関数の振る舞いですが、内部表現に文字セットのタグのついた 整数を想定して決めてやればいいじゃないかと思います。 そうすると実際には JISx201 の A と ASCII の A が違う文字に なってしまうけどこれはこれで仕方なし。 SJIS に固定した処理系ならば問題は無いわけだし、(ASCII が出てこないから) ASCII にあるものは ASCII へ自動的に規格化するという動作を許すかどうかは 悩みどころ... -- skimu