[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: the discussion so far

Thomas Bushnell scripsit:

> If string<? is used only for cases where the exact order is
> irrelevant, then there is no advantage in standardizing the order at
> all.

There is; if you use string<? to create a search tree, and then serialize
it and pass it to some other system, it should still be a search tree.
That can be assured by ensuring that string<? provides a universally
consistent collation.

> So why not say that string<? implements a total order on strings, and
> be done with it, not specifying the order at all?

It does not provide a sufficiently strong guarantee between unrelated
Scheme systems.  Indeed, "All strings are equal" is a total order.

> Why go out of your way to *mandate* an order which we already know is
> wrong, when you don't need to mandate one at all?

It's a serious oversimplification to call Unicode scalar value (USV) collation
"wrong" (and, by implication, UCA collation "right").  Each has its own
purposes.  UCA collation allows locale-sensitivity, requires considerably
more effort (probably between one and two orders of magnitude more, though
I haven't measured it), and is suitable for collating strings in ways
that match human expectations.  USV collation is fast, locale-independent,
easy to implement, and good enough for many purposes.

You are a child of the universe no less         John Cowan
than the trees and all other acyclic            http://www.reutershealth.com
graphs; you have a right to be here.            http://www.ccil.org/~cowan
  --DeXiderata by Sean McGrath                  jcowan@xxxxxxxxxxxxxxxxx