[R6RS] Case sensitivity

Richard Kelsey kelsey
Mon Nov 1 10:42:18 EST 2004

   Date: Mon, 1 Nov 2004 07:23:34 -0500
   From: Marc Feeley <feeley at IRO.UMontreal.CA>

   > - HCI research indicates that case insensitivity is more
   >   user-friendly.

   I can't resist commenting on this one.  I'm sure "HCI research"
   would have many other things to say about Scheme if given the
   time to study it...

   1) parentheses are not user-friendly
   2) prefix syntax is not user-friendly
   3) functional programming is not user-friendly
   4) higher-order functions are not user-friendly
   5) call/cc is not user-friendly

   Are we going to get rid of these things because "HCI research"
   says we should?

I am confused.  Are you saying that there is HCI research
that says this?  If so, this is good reason to discount any
research on case-sensitivity.  If not, what's the point of
this list of bogeymen?  That we should discount HCI research
because it might some day tell us something we would disagree

   I think "HCI research" has to be taken with a grain of salt as I'm
   sure the results of studies will depend greatly on the target users.
   For absolute novices I wouldn't be surprised that a case-insensitive
   syntax is slightly better (but probably a very small problem when
   compared to all the semantic-level difficulties when learning to
   program).  For intermediate and expert programmers (but new to
   Scheme), case-insensitivity is probably a source of problems because
   they can't use the naming conventions that they have traditionally
   used in other programming projects.  Why should we prevent them from
   expressing themself freely?

Because we are trying to do better than traditional languages.
I am sure that Scheme's syntax causes experienced programmer's
far more grief than its case insensitivity.  We don't switch to
an infix syntax in spite of the problems it presents programmers
used to semicolons because it has benefits of which we are all

For case insensitivity, the benefits are smaller but so are the
transitioning problems.  I work with a bunch of expert C
programmers.  When we were working on a coding standard I argued
for not making use of C's case-sensitivity because of the problems
that I knew would ensue from doing so.  I lost the vote; other
folks had their conventions that they were used to.  Now we lose
time every day, in little dribs and drabs, from confusion over
case in identifiers.  Some of the others have acknowledged that
they notice the loss, now that they are aware of the issue.


More information about the R6RS mailing list