[r6rs-discuss] Lexical Syntax
William D Clinger
will at ccs.neu.edu
Wed Nov 14 10:58:58 EST 2007
Alan Watson wrote:
> The following, though, seem irregular:
> m. the x in hex characters (although see below);
> n. inf and nan; and
> o. old character names (i.e., newline and space).
#\newline and #\space are the only irregularities here.
The R5RS syntax did not include things like #\x3bb and
-inf.0 and +nan.0, so the general principle of being
case-sensitive for things that are not specified by the
R5RS says those things should be case-sensitive.
> In the case of int and nan, one can argue that other numbers are case
> insensitive, so these should be too. In the case of #\newline and
> #\space, once can argue that the new character names are case sensitive,
> so these should be too. However, it seems odd to present these two
> arguments simultaneously, as they essentially take the same situation (a
> case-insensitive class augmented with some new variations) and arrive at
> different conclusions (general case insensitivity in one case and
> general case sensitivity in the other). However, the editors may have
> had other considerations in mind.
I don't know what (if anything) the editors had in mind,
but I can suggest a reason for the irregularity: The
new +inf.0, -inf.0, +nan.0, and -nan.0 are unlike any
R5RS syntax, but the new character names are very much
like #\newline and #\space. That suggests that it's
okay for +inf.0, -inf.0, +nan.0, and -nan.0 to be
different from other syntaxes for numbers, but that
all character names should be treated the same.
As for why all the character names ended up being
case-sensitive, I don't know. I suspect it was just
another case of the editors believing the community
was eager to convert to case-sensitivity.
More information about the r6rs-discuss