On Mon, Feb 23, 2009 at 12:36 PM, John Cowan <[email protected]> wrote:
> Joe Marshall scripsit:
>
>> The reason is simple:  Case sensitivity breaks abstraction.
>>
>> There are two concepts in play here.  The first is orthography, which
>> is the way in which words are represented in writing.  The second is
>> typography, which is the way in which letters are represented as
>> visual glyphs.
>
> Case sensitivity breaks abstraction (in the sense you mean) when it's
> typographical, yes.  However, in some contexts it is orthographical.
> This is rare in English, but commonplace in German, where there are many
> plural nouns that are distinguished from the infinitives of verbs by
> case alone.

I am talking about the default situation.  I am not an expert in programming
in German, but how common is it that a program needs to use both
the plural noun and the infinitive verb in the same context?  Being
insensitive to case does not mean that you must type everything in
lower case.  Go ahead and use whatever case you like.  Being insensitive
to case *does* mean that you must not use variable names that differ
*only* in case.  Is that what you want to do?!  By default?!!

>>   4.  It will be harder to remember the names of identifiers.
>>       (was that Define-Foo, Define-foo, or define-foo?)
>
> This is overcome by using a standard convention for case.

When PLT Scheme switched the default to case-sensitive,
the *very* first decision after that was to create a policy that lower-case
was the preferred case and that *no* system code could export an
identifier that was not lower case.  If you are going to have case
sensitivity, why define it away with policy?

-- 
~jrm

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

Reply via email to