Hi Peter and the SRFI 271 list,
Some comments on the current draft follow. Most are editorial
and some are pure nitpicking; only 6a seems like a really important
issue. I apologize in advance for the pedantry.
1. Abstract: The second sentence is longwinded and slightly hard to
understand.
2. Rationale: For clarity, move "precisely" to before "represent" in
"They represent binary floating point numbers of any significand and
exponent size precisely".
3. Rationale: What's this sentence doing here? "C, Julia, Java, and Zig
allow one to write floating point numbers using IEEE 754-2008's syntax
(which was derived from C99)."
4. Spec: Cite RFC 2119 for MUST, SHOULD, etc. semantics.
5. Spec: "Non-normative text is in small text." I'd prefer "small
print". More importantly, small print is an accessibility problem.
Give the people using screen readers some additional indicator of
non-normative content.
6. Spec: The ⟨ureal R⟩ productions you give extend the RnRS ⟨ureal R⟩
productions, so ellipsis points for the existing productions would
be appropriate.
6a. Spec: It's not clear from the grammars alone that the #x prefix is
a required part of the syntax.
7. Spec: In the various graphical browsers I tried, the point (.) in
the expression after "A hexadecimal floating point number is
interpreted such that" is nearly invisible. Maybe some thin
whitespace would help?
8. Spec: Clean up the the 'write-hexadecimal-float' spec. a bit:
a. The first two list items after "If the number is a real,
then:" should be written in terms of "printing" the integer part
instead of what the integer part "is".
b. Be consistent about the case of "must", etc.
c. "IEEE 754 binary floating point number": I assume this means a
floating-point number in an IEEE 754 binary format.
d. Be a little more precise about read-write invariance. In
particular, "read back" means using 'read'.
e. "flonum": First occurrence of this term in the Specification.
It's probably clear enough what this means, but "flonum" is
Scheme arcana and a more general term would be preferable.
f. Clarify that (current-output-port) is used in the absence of a
*port* argument.
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>