VLERange: a range in between BidirectionalRange and
Steven Schveighoffer
schveiguy at yahoo.com
Sat Jan 15 12:22:27 PST 2011
On Sat, 15 Jan 2011 14:51:47 -0500, Steven Schveighoffer
<schveiguy at yahoo.com> wrote:
> I feel like you might be exaggerating, but maybe I'm completely wrong on
> this, I'm not well-versed in unicode, or even languages that require
> unicode. The clear benefit I see is that with a string type which
> normalizes to canonical code points, you can use this in any algorithm
> without having it be unicode-aware for *most languages*. At least, that
> is how I see it. I'm looking at it as a code-reuse proposition.
>
> It's like calendars. There are quite a few different calendars in
> different cultures. But most people use a Gregorian calendar. So we
> have three options:
>
> a) Use a Gregorian calendar, and leave the other calendars to a 3rd
> party library
> b) Use a complicated calendar system where Gregorian calendars are
> treated with equal respect to all other calendars, none are the default.
> c) Use a Gregorian calendar by default, but include the other calendars
> as a separate module for those who wish to use them.
>
> I'm looking at my proposal as more of a c) solution.
>
> Can you show how normalization causes subtle bugs?
I see from Michel's post how normalization automatically can be bad. I
also see that it can be wasteful. So I've shifted my position.
Now I agree that we need a full unicode-compliant string type as the
default. See my reply to Michel for more info on my revised proposal.
-Steve
More information about the Digitalmars-d
mailing list