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

Re: [Scheme-reports] Post-plebiscite issue #3: structure-sharing for mapping

On Mon, May 13, 2013 at 8:40 AM, John Cowan <cowan@x> wrote:
will@x scripsit:

> I do, however, see the change from "equivalent in the sense of eqv?"
> to "operationally equivalent".  That's a significant change from the
> semantics described in the R5RS and R6RS.  It also contradicts several
> explicit examples found in both the R5RS and R6RS.

That change was made by me back in November as part of draft 8, but I
no longer have any idea why.  I'll file a ticket for it.

> Indeed, it contradicts several examples within the ninth draft of the
> R7RS, which means the ninth draft is contradicting itself on this point.

Can you particularize here?

I remember reviewing that change and thinking it was OK in
a hand-wavy sort of way since the intention of eqv? is to attempt
to define an operational equivalence.  Indeed since eqv? is the only
notion of operational equivalence we have in the standard, claiming
operational equivalence without any precise definition of such could be
assumed to be claiming equivalence in the sense of eqv?.

However, eqv? is only an approximation of operational equivalence.
There are other corner cases, but the simplest is that eq? exposes
finer-grained details.  Thus two chars fetched from the same string
location which were not eq? (e.g. as in Kawa) are not operationally

We should just revert this - it was treated as editorial but has some
subtle semantic implications.


Scheme-reports mailing list