[r6rs-discuss] Lexical Syntax
alan at alan-watson.org
Tue Nov 13 14:29:42 EST 2007
Not all of us call ourselves "computer scientists"; some of us are only
Thanks for the pointer to those messages, Mike.
If the R6RS is case insensitive for things that are specified by the
R5RS, I can understand it being case insensitive for:
b. radix and precision prefixes;
e. hex digits in numbers; and
f. hex digits in hex characters and hex escapes (not strictly in the
R5RS, but included here by extension of the previous case).
If the R6RS is case sensitive for things that are not specified by the
R5RS, I can understand it being case sensitive for:
g. new character names (e.g., linefeed);
h. string escapes (e.g., \n);
j. the x in hex escapes;
k. #!r6rs; and
l. #!fold-case and #!no-fold-case (although one might argue that the
later should be case insensitive!).
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).
Please let me know if I have missed any relevant cases.
Regularity would suggest that the x in hex characters be case sensitive.
That it is not (according to a strict reading of 4.2.6) seems to be a
small error, as suggested by Will.
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.
More information about the r6rs-discuss