Alan Watson wrote:
> Per Bothner wrote:
>> Is there any scenario where you'd want anything other than:
>>
>> (eqv? +nan.0 +nan.0) => #t
> 
> If inexacts are unboxed and +nan.0 has only one representation, then the 
> implementor can most simply implement eqv? on inexacts with a bitwise 
> comparison. In this case, you get #t.
> 
> If inexacts are boxed, then the implementor can most simply implement 
> eqv? on inexacts with a numerical comparison. In this case, you get #f.
"can most simply implement" != "you would want" or "the right thing".
If inexacts are boxed, then the implementor can easily implement
eqv? on inexacts by comparing their bits.
I think it is important to not break:
   (eq? x x) implies (eqv? x x)
and:
   (let ((x expr)) (eq? x x))
which seems to imply little choice but:
   (eqv? +nan.0 +nan.0) => #t
-- 
	--Per Bothner
per_at_bothner.com   http://per.bothner.com/
Received on Thu Nov 23 2006 - 16:07:41 UTC