[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Formal Comment: R7RS 'eqv?' cannot be used for reliable memoization

On Mon, Nov 12, 2012 at 3:29 PM, Per Bothner <per@x> wrote:
On 11/11/2012 09:01 PM, Alex Shinn wrote:
> In particular, the issue [Mark Weaver] bring up was already voted on
> twice.  The definition of eqv? has historically been strongly
> contended, and there is simply no way to make everyone
> happy on this point.

No doubt, but for the record I agree with Mark that the specification in
the latest draft is plain weird - if not wrong.  It gives the "right" result
for inexact real numbers conforming to the IEEE 754-2008 standard, assuming
by "right" we intend something vague like "operationally equivalent".  For
example two numbers with different precisions may be = but not eqv? - but
*only* if the numbers conform to the IEEE 754-2008 standard, and not for
any other kind of inexact reals.

So if R7RS is finalized with the current wording, for anyone is Mark's
position, I suggest you just document the discrepancy in your documentation
and do the right thing.

However, my suggestion to the editors would be to remove the 2 sections
about inexact real numbers that do not conform to IEEE 754-2008, and
leave this unspecified.

I think having (eqv? 1.0 1.0) be unspecified would be even weirder.


Scheme-reports mailing list