On Mon, 2009-09-07 at 23:47 -0400, John Cowan wrote:

>       3) The char-downcase procedure, given an argument that forms the
>       uppercase part of a Unicode upper/lower-case pair, must return
>       the lowercase member of the pair, provided that the character
>       is supported by the Scheme implementation.  Turkic casing pairs
>       are ignored.  If the argument is not the uppercase part of such
>       a pair, it is returned.
> 
>       4) The char-upcase procedure works the same way, mutatis mutandis.
>       Note that many Unicode lowercase characters don't have uppercase
>       equivalents.

Yes.  That's crucial.  These procedures (and all the case-comparison
stuff built on them, including case-insensitive identifiers in R4) 
become semantic nonsense for case mappings that aren't one-to-one
between uppercase and lowercase. 

+1 this proposal.  It got the crucial bits right IMO; it allows 
implementations to support characters outside the Unicode repertoire, 
provides a tractable semantics for case operations, allows
implementations to support less than full unicode, and 
requires unicode mappings for portability where applicable.  Those
were the things we argued until blue-in-the-face about during the 
R6 process; I'm *so* glad they're in the first proposal this time.

                                Bear



_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to