[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wrapping up SRFI-70



 | Date: Tue, 09 Aug 2005 22:13:23 -0700
 | From: Per Bothner <per@xxxxxxxxxxx>
 | 
 | I think there are some good things here, but there may be too much
 | stuff in one SRFI.
 | 
 | ....
 | 
 | An SRFI dealing with inexact infinities should I think focus more
 | on IEEE infinities.  It is desirable that a Scheme implementation
 | can map (possibly compile) Scheme arithmetic on inexact reals into
 | IEEE floating-point arithmetic.  I think more dicussion of this
 | issue is needed.

The current (2005/08/12) revision of SRFI-70 makes clear that +inf.0
and -inf.0 correspond to the IEEE-754 infinities already supported by
nine implementations of Scheme.

 | Date: Tue, 09 Aug 2005 22:36:32 -0700
 | From: Per Bothner <per@xxxxxxxxxxx>
 | 
 | The rationale discusses NaN, but I think the solution that
 | 0/0. = 0/0. is wrong.  I think it is important to be compatible
 | with IEEE, and that 0/0. be the same as NaN.

0/0 is now an optional error object, completely unconstrained by
SRFI-70.

 | The Kawa solution (which I think is the right one):
 | 
 | (define NaN ...)
 | (= NaN NaN) => #f
 | (eq? NaN NaN) => #t
 | (eqv? NaN NaN) => #t
 | (equal? NaN NaN) => #t
 | 
 | This may technically violate R5RS, but I think it's the
 | best choice if we want to be compatible with IEEE, which
 | think we do.

I believe that the junking of 0/0 makes SRFI-70 compatible with
IEEE-754.  Do you agree?