[r6rs-discuss] R6RS = (and friends) semantics/requirements
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 18.104.22.168 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 22.214.171.124. If it evaluates
> to (#t #t #t), then it's a violation of R6RS 11.7.1.
Thanks for a very good answer!
Your example really cleared up how it should work. :-)
More information about the r6rs-discuss