Kazuki Ohta
mover****@hct*****
2005年 8月 26日 (金) 12:53:51 JST
太田です。 反応が鈍くなってしまってすいません。 > > > そう、それともう一つ訊きたいことが(どっかで既に訊いたような気も)。Copy- > > > on-write な string オブジェクトは実装する予定はあるんでしょうか (i.e. > > > string のデータは \0-terminated と仮定していいかどうか) > > > > COWにする事で\0-terminatedが保証されるかに影響するのでしょうか? > > COWはただ文字列を使いまわすだけで、終端文字等はかかわって来ないと > > 認識しているのですが。不勉強だったらごめんなさい。 > > あ、COW というよりむしろ部分文字列ですね。すいません。 > 例えば > (define complaint "蚊ゆいうざい") > (define cause (substring complaint 0 1)) > としたとき、string データが全て \0-terminated だと cause の値を作るとき > に complaint の一文字目をどこかにコピーして後ろに \0 を付け足す必要があ > ります。文字列長を int で管理して COW にすると、string-set! が無い限り最 > 初の文字列を切り取り次第に使いまわせます。 なるほど、いいですね。是非実装したいです。ただし、SigSchemeの機能拡張自 体はスケジュール的にもう少し後かなぁと思っています。 * SIOD compatible で uim を動かす * 速度&メモリ使用量最適化 * not SIOD compatible で uim を動かす * SigSchemeの機能拡張(GC, string等) 一応10月に中間報告会なるものが有るので、少なくとも安定版と同程度の動作 を確保しておきたいという事が有ります。 -- ------------------------------------------------- Kazuki Ohta : mover****@hct***** -------------------------------------------------