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

Re: the discussion so far

This page is part of the web mail archives of SRFI 75 from before July 7th, 2015. The new archives for SRFI 75 contain all messages, not just those from before July 7th, 2015.



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