[CM] Bug with sort
Norman Gray
gray at nxg.name
Wed Aug 27 08:28:01 PDT 2025
Bill, hello.
On 27 Aug 2025, at 15:40, bil at 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
More information about the Cmdist
mailing list