I wrote:
> you need a formal specification too, in BNF, as in r5rs.
Here's a stab at how to do this:
The r5rs formal syntax is extended by making the following modifications:
-- In r5rs 7.1.1,
-- For each X in token, identifier, variable, boolean, character,
string, and number, change the name of entity <X> to <raw X>.
-- Add "#;" to the <raw token> rule.
-- In r5rs 7.1.2,
-- Add this rule:
<commented datum> ---> #; <datum>
-- For each X in token, identifier, variable, boolean, character,
string, and number, add a rule:
<X> --> <commented datum>* <raw X>
-- In all of the production rules of 7.1.2 through 7.1.5, every
literal entity like "(", ")", "quote", or "lambda" is defined to
mean the corresponding <token> or <identifier>, not a <raw token>
or <raw identifier>.
I encourage anyone who would like to see different behavior
standardized to provide a formal specification of what he desires.
-al