[R6RS] Case-sensitivity
Michael Sperber
sperber at informatik.uni-tuebingen.de
Tue Feb 21 12:57:34 EST 2006
[Generating a lot of interest, this lexical syntax. Semantics,
anyone?]
dyb at cs.indiana.edu writes:
> I'm inclined to put case-sensitivity into R6RS as we decided and see if
> the community squawks about it.
It was already in the first (or second?) status report, and the
community is already squawking---no "if" about it. Sample:
http://community.schemewiki.org/?R6RS
(... and the current discussion on c.l.s, of course.)
> It's not the sort of change that will be hard to back out, so it
> hardly matters whether we poll the community now or when the report
> goes out.
>
> Each of us who voted for the change did have one or more rationales for
> making the change, and it's a good idea to list them. We should also
> list the arguments against.
I don't think listing the arguments will do much good, but OK. For
the record:
> My list of arguments for case-sensitivity:
>
> - it gives me a larger set of identifiers of a given length to work with
>
> - it allows me to use the same name, differentiated by case, for
> related items, like a record type named Frob and instances named frob
> or a procedure named Expr that processes expressions named expr.
>
> - it allows Scheme identifiers to represent more identifiers from other,
> case-sensitive, languages (for construting interfaces or modeling
> other languages), with less need for escapes like |---|.
>
> - it puts us in step with the most popular contemporary computer languages
> (C, C++, Haskell, Java, Perl, etc.)
>
> - it puts us out of step with Ada, Basic, Cobol, and PL/I
> (this is a joke...actually I don't really care about these languages)
>
> - it is more consistent with math, where case often matters
>
> My list of arguments against case-sensitivity:
>
> - not backward compatible with some r5rs programs
- it doesn't allow me to use different cases for the same identifier,
highlighted according to context, like backquote-generated code
where the keywords are in all-uppercase
- it puts us out of step with the most popular contemporary computer
languages (SQL, Visual basic, HTML, the filesystems on Mac OS X and
Windows)
- it goes against the intuition of many newcomers to the language
- it encourages the use of identifiers only differentiated by case,
which is sufficiently confusing that some projects, after
implementing case-sensitivity, immediately establish a convention
that code must not make use of it
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
More information about the R6RS
mailing list