[r6rs-discuss] R6RS = (and friends) semantics/requirements
leppie
xacc.ide at gmail.com
Wed Feb 25 15:54:22 EST 2009
From: "William D Clinger"
> leppie wrote:
>> As the R6RS does not define anything in terms of what = should do
>> given a mix of argument types, I think both of the interpretation
>> of Ypsilon and Ikarus is correct.
>
> Ikarus may be correct, but that probably means it's using
> a precision other than IEEE double precision.
>
> I don't see how Ypsilon can be correct.
>
> R6RS 11.7.4.3 says "These predicates must be transitive."
>
> I suggest you try the following:
>
> (define pi (angle -1))
>
> (list (= 245850922/78256779 pi)
> (= pi 884279719003555/281474976710656)
> (= 245850922/78256779 884279719003555/281474976710656))
>
> If that last expression evaluates to (#t #t #f), then it's
> a clear violation of the R6RS 11.7.4.3. If it evaluates
> to (#t #t #t), then it's a violation of R6RS 11.7.1.
>
> Will
Thanks for a very good answer!
Your example really cleared up how it should work. :-)
Cheers
leppie
More information about the r6rs-discuss
mailing list