Brian Harvey scripsit:

> Gosh, John, if it's this easy, why did we have all those arguments before
> in which certain people were saying it was /impossible/ to have
> case-insensitive identifiers?

Anyone who said that was either misinformed, or misunderstood, or (but I
hope not) speaking irresponsibly.  I hold the virtues of case-sensitivity
to be substantial, but there is no question that case-insensitivity
is *possible* in a fully Unicode world, given that Unicode even goes
to the trouble to define a case-folding algorithm.  Because there are
lower-case letters without uppercase counterparts, but not vice versa,
Unicode folding is downcasing, but with certain special cases that may
produce surprising results.

In English and many other languages, capitals are mostly typographical,
but in German they are part of the orthography.  This can lead to
unexpected consequences.  For example, although "ß" is a lowercase
letter, it case-folds to "ss" as part of a string.  Why?  Because "ß"
upcases to "SS", which downcases to "ss".  Consequently, the well-known
example of German "Mass" (mass) vs. "Maß" (measure) will case-fold to
the same string, "mass".  In addition, since German nouns are capitalized
and non-nouns are not, programmers using German-language identifiers are
well-served by case sensitivity.  Likewise, in scientific units case is
orthographical: milliamperes (mA) are not megamperes (MA).

Arguments like "All the cool languages are case-sensitive nowadays"
just tend to piss Schemers off, so I won't even mention them.  However,
I will point to XML and JSON, both of which are rather important in data
interchange, and both of which are case-sensitive.  Of course, there's no
reason you *have* to use symbols in handling these formats, but it's nice.

If you look at http://tinyurl.com/thing-one, you'll see that I propose
#cs and #ci for controlling case sensitivity in Thing One.  This is
common in many R6RS implementations.  R6RS suggests the unofficial use of
#!case-fold and #!no-case-fold instead, but it is not a conformance issue.

-- 
I now introduce Professor Smullyan,             John Cowan
who will prove to you that either               [email protected]
he doesn't exist or you don't exist,            http://www.ccil.org/~cowan
but you won't know which.                               --Melvin Fitting

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

Reply via email to