Re: Withdrawal? Wolfgang Corcoran-Mathe 25 Oct 2020 01:53 UTC

On 2020-10-24 17:04 -0400, John Cowan wrote:
> True.  But it's more than just a non-portable implementation, it's that the
> *results* are non-portable if (say) the implementation maps all quiet NaNs
> that bubble up from C into a single one.  This would be sensible when
> NaN-boxing.  So it is useless.

I don't fully understand why this invalidates SRFI 208 as an interface
to NaN values.  Couldn't we include a note strongly suggesting that
Schemes implementing SRFI 208 provide quiet, signaling, and negative
NaNs?  Isn't this, in a sense, a "quality of implementation" question?

That being said, I agree that there seems to be no way to implement
this portably.  I've determined that the current sample implementation
is completely incorrect.  It relies on the portable (scheme bytevector)
implementation to convert between bytevectors and NaNs.  Unfortunately,
this implementation treats all NaNs as equivalent, and doesn't
actually provide access the bits of a NaN.  We could, however, give a
non-portable implementation for a Scheme with a "real"
bytevector-ieee-double-set!, or something equivalent.

--
Wolfgang Corcoran-Mathe  <xxxxxx@sigwinch.xyz>

"I started out as a BASIC programmer.  Some people would say that I'm
permanently damaged.  Some people are undoubtedly right." --Larry Wall