[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] Draft 3 Comments: Chapter 2

2.1. Identifiers

I like how the new paragraph about vertical bar syntax fits into the 
flow of the original text. However, I find the use of the term "reader" 
in the description of #!fold-case / #!no-fold-case to be problematic as 
it is nowhere defined or otherwise used in the report (except for 
addressing the actual reader of the report in section 6.2.5). I think it 
would be better to speak of "the read procedure" here, which is what 
section 1.2 refers to as what (quote:) "performs syntactic as well as 
lexical decomposition of the data it reads".

Another somewhat vague and never-defined term used here is "lexeme"; in 
this context, one could go with simply "data" instead.

Also, forward references to "where comments may appear" and 
"string-foldcase" might be nice. The same could be said for "port", but 
I think its OK to leave it out as it's clear that the needed information 
can be found where "read" is defined.

A proposal:

"These directives may appear anywhere comments may appear (see below) 
and are treated as comments, except that they affect the reading of 
subsequent data. The #!fold-case directive causes the read procedure to 
case-fold (as if by string-foldcase, see section 6.3.5) each identifier 
and character name subsequently read from the same port. The 
#!no-fold-case directive causes the read proceudre to return to the 
default, non-folding behavior."

(I left out the last sentence and merged it into the #!fold-case one.)

2.2. Whitespace and comments

This is not really an editorial comment, but still stating that square 
brackets are "reserved for possible future extensions" seems a bit funny 
given that very many Scheme implementations let you use them 
interchangeably with parentheses and that R6RS even standardized that 
IIRC; so, given that it is outright unrealistic to ever assigning any 
other meaning to them without breaking tons of existing Scheme code, it 
should be about time that this can be relied upon (even if there a quite 
a few Schemers that dislike this square bracket usage; I do, for instance).

Having said that, I know that adopting this would most probably require 
a vote (or has already been voted on? I don't know) which might not go 
through. But at the very least, the report should mention that this is a 
common use of square brackets in several implementations. Everything 
else somewhat feels as if the report hasn't catched up with reality.

But enough critique, everything else looks good to me. :)


Scheme-reports mailing list