Haskellの文字列と文字配列
>Haskell では文字列を文字の連結リストとして表現しているのでメモリ効率がたいへん悪い、という話が 2ch に出ています。それは確かにその通り。一方で文字列処理がリスト処理と同一視できるという強い利点もあり、善し悪しでもあるのですが。
>
>とはいえ、いちおう
>PackedString
> や、標準ではないものの
>FastPackedString
> というのもあります。 FPS はここ最近ちょっとメーリングリストで話題沸騰でした(主に、おまえのは文字列ではなくバイト列と名前を改めるべきだ、みたいな議論だったけど)。
>
>ただ、どちらにせよ、言語仕様上は文字列は文字リストになっているので、問題がないでもない。というか、これらのものだけで完結する処理なら問題なく高速&省メモリですが、それ以外の場合にはしんどいんじゃないかな、と思ってます。たとえば Parsec で処理したいときはどうするか。 wxHaskell で表示させたいときにはどうするか。やりかたは考えればあるだろうけれど、あまりスマートではない……と思う(試してみたことはない)。
>