Email list hosting service & mailing list manager

Re: the discussion so far John.Cowan (17 Jul 2005 07:29 UTC)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
Re: the discussion so far John.Cowan (20 Jul 2005 05:07 UTC)
Re: the discussion so far bear (20 Jul 2005 17:27 UTC)
Re: the discussion so far John.Cowan (20 Jul 2005 19:28 UTC)
Re: the discussion so far Thomas Bushnell BSG (20 Jul 2005 19:30 UTC)
Re: the discussion so far John.Cowan (20 Jul 2005 19:41 UTC)
Re: the discussion so far bear (20 Jul 2005 23:56 UTC)
Re: the discussion so far Alex Shinn (21 Jul 2005 01:36 UTC)
Re: the discussion so far John.Cowan (21 Jul 2005 01:47 UTC)
Re: the discussion so far bear (21 Jul 2005 08:52 UTC)

Re: the discussion so far John.Cowan 20 Jul 2005 05:07 UTC

Thomas Bushnell BSG scripsit:

> When you provide a function that does almost-the-right-thing, you are
> encouraging programmers to use it.  The only case where you have
> identified a value to this function (when implemented as a simple
> radix comparator on codepoints) is when you have binary search trees
> which you want to exchange between scheme systems.

I picked that as a counterexample to the claim that there were no such
use cases.

> Yet, this function will not be used only for that purpose.  Instead,
> it will be used just as the R5RS function is: a general purpose way of
> sorting strings to alphebetize them for human-readable output.

Then document that it should not be used in that way.

> Any programmer, you see, who wants to write code that Does The Right
> Thing and uses this function, thinking, "oh, this will sort strings
> usefully for human readable output", will be wildly misled.  On their
> scheme system it will be fine, but then on a fancy enough scheme
> system, with full Unicode support, their code will break.
>
> It would have been better to tell them "Scheme has no portable way to
> sort strings for human-readable output" than to provide a function
> which is almost right.

I quite agree that such a disclaimer is very much in order; I note that
R5RS does not say that the procedures in question *can* be used for such
a purpose, and indeed they cannot reliably be so used.

--
John Cowan  xxxxxx@reutershealth.com  www.reutershealth.com  www.ccil.org/~cowan
The whole of Gaul is quartered into three halves.
        -- Julius Caesar