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