# Re: [Scheme-reports] [scheme-reports-wg1] Digest for scheme-reports-wg1@x - 13 Messages in 5 Topics

• To: Ray Dillinger <bear@x>
• Subject: Re: [Scheme-reports] [scheme-reports-wg1] Digest for scheme-reports-wg1@x - 13 Messages in 5 Topics
• From: Noah Lavine <noah.b.lavine@x>
• Date: Sun, 12 Aug 2012 08:11:38 -0400
• Cc: scheme-reports@x
• References: <0016e6d644a47d04bc04c6b59571@google.com> <CA+U71=M7ke_4896SUTrq2avfdhseNf_P726mdLMUEDUV1WqUBw@mail.gmail.com> <CAC_pKx-VYp48GBfUPUdD4bwxutr4B1r7Qw=EE2Ot5pGi_zi-EQ@mail.gmail.com> <CAMMPzYNk8a+A-s4RKR7Kx412urNjTYLWBTO-P_rk6eE=nB62XQ@mail.gmail.com> <CA+U71=MDbCYLHgAF=0Dk4sA1jRLP_GdA=5kNUNmg3Ns61hMN0Q@mail.gmail.com> <50272671.1040706@sonic.net>

```> I expect, if two variables are eq? , that mutation of one has as a
> side effect mutation of the other; thus the two variables remain
> eq?

I agree.

> Conversely, I expect, if two variables are eqv? but not eq?, that
> mutation of one will not have a side effect of mutating the other,
> thus the two variables will not remain eqv?

Ah, interesting. My intuition has always been that if two values are
eqv? but not eq?, then they are values that cannot be mutated, like
big integers or multibyte characters or something like that. This
seems to be a clear difference.

I thought of eqv? and eq? as being a performance tradeoff. eq? was the
fast one (since, as you say, it can be implemented as a bit-pattern
comparison), and eqv? handled the non-immediate atomics.

Noah

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

```