[R6RS] Case sensitivity

Marc Feeley feeley
Mon Nov 1 07:10:04 EST 2004

> I'd appreciate if people added to this list.  I remember Will hinting
> at some more arguments that weren't clear to me.  I'd also like to
> have a little debate over the "interoperability argument" eventually.

Here are a few more arguments in the "For" camp.

1) Kent pointed out that in his code, when using a case-sensitive
   syntax, it is convenient for certain types of programs (compilers,
   transformers, ...) to name the transformation function and the
   parameter using the same name, but with a different case, such as:

     (define (Expr expr) ...)  instead of   (define (process-expr expr) ...)

2) In a FFI, it is convenient to have case-sensitive symbols to name C/C++
   types or C functions.  Otherwise strings would have to be used, or
   specially escaped symbols, but this is clumsy as soon as you have more
   than a few types in your FFI declarations (yes it is a matter of taste).

3) The meaning of "case-insensitivity" does not depend on natural
   language.  In Turkish, "i" is *not* the lower-case variant of "I"
   (it is dotless-i).  In some natural languages, case is important
   (isn't German one of those languages?).  We should avoid specifying
   the lexical syntax of Scheme in such a way that cultural
   conventions can't be followed.

I have a feeling we are beating on a dead horse and that further
discussion on this topic should be held to a minimum, unless the
editors are unsure what their vote intentions are.  As I recall, the
editors at the Snowbird meeting seemed in favor of a switch to a
case-sensitive syntax, as long as the user-community was willing also.
The vote at the workshop was 22-3 in favor of a case-sensitive syntax,
which is a clear message.


More information about the R6RS mailing list