[R6RS] (integer? +inf.0) => ? [was: NaNs and infinities]
sperber at informatik.uni-tuebingen.de
Tue Mar 28 10:04:52 EST 2006
It seems that the discussion on arithmetic is down to two principal
- operations for integer division (which Will and I can resolve, I
- the values of (integer? +inf.0) and (rational? +inf.0)
For the latter, Will prefers that they return #f, and Kent prefers
that they return #t.
Here's Kent's rationale:
> I would have (rational? -inf.0) be #t as well.
> Beyond a certain number of digits, all IEEE floats are integers. +inf.0
> and -inf.0, which represent the limits that the sequence of representable
> floats apprach in either direction, should also be integers.
> I'm not even sure why you treat +nan.0 as irrational. This is definitely
> a departure from R5RS, which not only allows rational? to be the same as
> real? but states that this is how it will be in most implementations.
> I don't understand why you have departed from that.
Here's Will's rationale:
> As you explained, +inf.0 actually stands for all of the real
> numbers that are above a certain size. Most of the numbers
> for which +inf.0 stands are not integers. That argument is
> not at all convincing, however, because the same is true of
> *all* inexact integers.
> At some point, you have to look at the operational meaning
> of integer? and other predicates. One of the main uses of
> integer? in SRFI 77 is to define the domain on which things
> like flodd?, fleven?, flquotient, flremainder, inexact-odd?,
> and inexact-even? are defined. If we don't want to have to
> describe how these things behave on +inf.0 or -inf.0, then
> we can exclude them from the domain by defining them as
> non-integers. That is the approach taken in SRFI 77.
> This would be a bad thing to do if there were plausible
> examples of problems it would cause. If you can think
> of such problems, we'd like to hear about them.
(More discussion further up in this thread, if you're interested.)
I personally prefer that they they return #f. Any other opinions?
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
More information about the R6RS