[racket-dev] racket2 suggestion: removing (or extending) eqv?

From: Greg Hendershott (greghendershott at gmail.com)
Date: Sat May 4 21:45:26 EDT 2013

I think this is a great idea.

When I learned Scheme a few years ago, the prospect of juggling three
kinds of equality was a surprise.

I felt like Kevin Kline's character in A Fish Called Wanda, who kept
asking, "What was the middle one?"

It turned out only two have really mattered practically, for me. It
probably would have helped me if the docs said, "Tip: You may never
use eqv and friends".

Even better would be eliminating "the middle one".


On Sat, May 4, 2013 at 11:57 AM, Jon Zeppieri <zeppieri at gmail.com> wrote:
> Since incompatible future changes seem to be coming up a lot, I
> thought I'd add one more. What do the members of this list think of
> removing eqv? all of its associated machinery (e.g., memv, hasheqv,
> etc.)?
>
> (Along with this change, it would be nice if characters could all be
> immediately represented, so that those with equal code points would be
> eq? RIght now, all unicode code points can be encoded in 22 bits, I
> think. I'm not so familiar with racket's current representation of
> characters, but I figure that they could easily be fit into a single
> machine word on 64-bit builds. I don't know how difficult it would be
> on 32-bit builds. And, of course, there's no guarantee that the number
> of code points won't increase significantly.)
>
> Alternatively (and following Sam's line of thought from [1]), eqv?
> could be extended to cover all of racket's immutable data structures.
> In this case eqv? should also be made generic so that user-defined
> immutable data structures can use it, as well.
>
>
> [1] http://lists.racket-lang.org/users/archive/2013-April/057510.html
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.