Bill, hello.
On 27 Aug 2025, at 15:40, b...@ccrma.stanford.edu wrote: > The r7rs spec also says that the result of > (eqv? +nan.0 +nan.0) is unspecified, so I > guess both eq? and eqv? should return #f? > The spec is waffling all over the place > about numbers and (for example) empty > strings. But apparently it is now the > case that (eq? 123123 123123) should return #t. I think the text is still saying that (eq? 123123 123123) is implementation defined, but the result has to be consistent with eqv?. NaNs are of course special, so that (= +nan.0 +nan.0) is required to be #f (Sect.6.2.6). But that (Sect.6.1) requires eqv? to be #f if any argument is a NaN (ie, (eqv? +nan.0 +nan.0) is required to be #f). But it does look as if, while (eqv? a b) can in general return #f or #t, only in the latter case is eq? allowed to return #t (or, put the other way, if (eq? a b) returns #t, then eqv? must, also). Thus (eq? +nan.0 +nan.0) seems to be required to return #f, also. ...I'm _fairly_ sure. Best wishes, Norman -- Norman Gray : https://nxg.me.uk _______________________________________________ Cmdist mailing list Cmdist@ccrma.stanford.edu https://cm-mail.stanford.edu/mailman/listinfo/cmdist