It seems to me that Chez Scheme's behavior is allowed by the R6RS
loopholes that say

        Implementations that use binary floating-point representations
        of real number objects should represent x|p using a p-bit
        significand if practical, or by a greater precision if a p-bit
        significand is not practical...

and

        If an implementation cannot represent a number with the
        mantissa width specified, it uses a representation with at least
        as many significant bits as requested if possible, otherwise it
        uses its representation with the largest mantissa width.

The first of those loopholes appears to authorize an implementation's
decision concerning what is practical, and the second of those loopholes
explicitly says an implementation (such as Chez Scheme) that cannot
represent an (inexact, as implied by context) number using a 1-bit
mantissa must use a representation with at least 1 bit if possible, which
is what Chez Scheme apparently does according to your bug report.

My interpretation of those loopholes may not coincide with the opinions
of every R6RS editor, but I think Chez Scheme has the right to conform
to the R6RS as written, without having to conform to unwritten opinions.

Will Clinger

Reply via email to