Mark H Weaver <m...@netris.org> writes:

> Our core '/' operator, as defined in numbers.c, raises an exception for
> (/ x 0), for any 'x'.  This does not conform to the R6RS, which
> specifies that (/ 0.0 0) => +inf.0.  I don't think that rule makes sense

Sorry, I meant to write (/ 1.0 0) => +inf.0, which is one of the
examples given in the R6RS.

> because the sign of the result cannot be justified.  (/ 1 0.0) => +inf.0
> and (/ 1 -0.0) => -inf.0 are more justifiable because of the signed
> inexact zeroes, but an exact zero is not signed.
>
> However, it may be that we should change this to conform to the R6RS,
> and certainly it would be good for our compiler and interpreter to agree
> on all of these edge cases.

        Mark



Reply via email to