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:
http://www.paulgraham.com/popular.html
> 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
take.
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).
Mark