A few more minor tweaks Mark H Weaver 29 Oct 2012 06:46 UTC

The current draft says:
> Even some Lisp advocates, like Paul Graham, admit that they "don't find
> prefix math expressions natural" (http://www.paulgraham.com/pypar.html)

That URL does not contain that quote.  This one does:


> 2. e{} => (e) when there are zero or more whitespace characters within
>    the braces; otherwise, e{...} => (e {...}). E.g.,
>    f{n - 1} => (f {n - 1}) => (f (- n 1)), and g{- x} => (g (- x)).
> 7. These recurse left-to-right. E.g., f{n - 1}(x) => f({n - 1})(x) =>
>    (f (- n 1))(x) ⇒ ((f (- n 1)) x)

For consistency with the rule given in item 2, I suggest rewriting the
first intermediate step "f({n - 1})(x)" in item 7 as "(f {n - 1})(x)".

Also, since items 4 through 6 use the word "MUST", for consistency I
suggest writing "7. These MUST recurse left-to-right."

> 4. There MUST NOT be whitespace between e and the open paired character
>    for the above mappings to apply.

This requirement seems poorly worded for reasons that I find difficult to
explain.  It has to do with "MUST NOT" being applied to a condition that
might or might not be true (whitespace between e and the open paired
character), rather than to an action that the implementation must not

I suggest rewriting it as something closer to: "The above mappings MUST
NOT be applied if whitespace characters are present between e and the open
paired character."

> Where datum comments are supported using #;, datum comments SHOULD
> comment the datum as defined above.

You might consider referencing SRFI-62, which was the first specification
for these datum comments (later adopted by both R6RS and R7RS).