On Fri, 9 Feb 2007 16:21:07 -0800, you wrote:
Note that some Unicode algorithms require the ability to back up in a stream of code points, so that may be a consideration in the design (maybe they could be implemented in Haskell in a way that doesn't require that; I'm still learning, so I'm not sure yet). And regular expression processing requires essentially random access (same Haskell-fu considerations apply).
These are important points that need to be emphasized. Those who would devise various "improvements" to UTF-8, etc. often fail to realize how much careful thought went into their design. You can jump into the middle of a UTF-8 string, and you'll need to move fewer than a code point's worth of bytes to resynchronize with the reference frame, for example. UTF-8 is also very robust with respect to data corruption. Steve Schafer Fenestra Technologies Corp. http://www.fenestra.com/