[Larceny-users] when should case-sensitivity become the default?

William D Clinger will at ccs.neu.edu
Fri Jun 22 11:06:45 EDT 2007


Larceny v0.94 will implement the lexical syntax of the
current draft R6RS, but the R6RS syntax will not be
enforced unless the reader encounters a #!r6rs comment
( http://www.r6rs.org/document/html-5.94/r6rs-Z-H-6.html#node_chap_3 ).

Larceny v0.94 will default to a lexical syntax that
supports most of the lexical syntax proposed for R6RS,
but continues to support most (but not all) of the
lexical extensions to R5RS syntax that were supported
by v0.93.

According to the R5RS, symbols are not case-sensitive,
but several popular implementations of R5RS Scheme are
now case-sensitive by default in defiance of the R5RS,
and case-sensitivity would be required by the current
draft R6RS.  To simplify R6RS conversion and to make
things easier for users of Common Larceny, Larceny
will soon become case-sensitive by default.  The
question is whether this should happen in v0.94 or
in v0.95.

The argument for doing it in v0.94 is that you might
as well convert your code while you're getting used
to the new syntax of v0.94.  The argument for doing
it in v0.95 is to give you more time to convert your
code, and to spread the pain over a longer period of
time.

Larceny will, in any case, continue to support both
case-insensitive and case-sensitive code and data via
its case-sensitive? parameter.  In v0.94, this parameter
can be adjusted by placing one of the following flags
at the top of a file, or by typing one of these flags
at an interactive REPL:

  #!fold-case     ; switches to case-insensitive mode
  #!no-fold-case  ; switches to case-sensitive mode
  #!r6rs          ; enforces R6RS lexical syntax, including case sensitivity
  #!r5rs          ; enables R5RS lexical syntax, including case insensitivity

There will also be a way to override the default by
specifying a switch on Larceny's command line.

If you have an opinion on the timing of Larceny's
change to case-sensitivity as the default, please
respond to this list or to the Larceny developers.
Thank you.

Will



More information about the Larceny-users mailing list