I've just put up a new draft, with the following changes:
- I've fixed the examples to be clearer and to include all of the
weird or peculiar cases. I've also added some examples of invalid
input.
- I've included the formal specification, based on what Al* Petrofsky
suggested. (I'd like to note at this point my distaste for using
such cumbersome tools as BNF-style grammars for describing Lisp
syntax... I attribute the complexity of the change to that, not to
the complexity of this SRFI; the change to the recursive-descent
parser shows how simple it really is.)
- I've included Scheme48's reader, and I've fixed the slight bug in
the #; definition which caused the semicolon to not be immediately
consumed.
Regarding Aubrey Jaffer's use of #; for a different purpose: since the
use of #; for S-expression comments is already well-established, and
since it has already been decided upon for R6RS, I think it is better
for this SRFI to stick with #; and for some other character sequence to
be selected to substitute for SCM's somewhat obscure use of #;.
On the matter of nested comments: I am pretty firmly set on the current
way S-expression comments work. Since it's an extremely specialized
case, since it has a very simple logical explanation, and since the
current way things work is a very simple addition to a traditional Lisp
recursive-descent S-expression parser, I'm inclined to stay with the
status quo unless the suggested alternative can be shown to be as
simple, in terms of logical explanation & recursive-descent parser, as
the status quo.