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