文字列について 日本語を扱うことはGaucheの当初からの目標であった。 それも、出来れば日本語に限らず、多国語対応にしたいなと。 問題は実装だ。 固定長か可変長か 最近のScheme処理系の多くはUCS-2にも対応しつつある。 Unicodeで一応コードは決まっているし、固定長だし、 一番簡単な解決法ではあるのだが、Gaucheの目的からみた場合に、 色々と不都合もあるのだ。 ちゃんと多国語を扱うには、16bitじゃ足りなかろう。 かと言って全てをUCS-4で扱うのは無駄が多すぎるよな。 何と言っても、扱うデータの大部分は1バイトに収まるだろうし。 サロゲートペアを導入してUTF-16として扱うとすると、 固定長という最大のメリットが無くなってしまう。 I/O性能。数10MBくらいの、日本語がちょっとだけ混じったログファイルを 読み込んで加工して書き出す、なんてことが私の業務では多発する