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

Re: [r6rs-discuss] [Scheme-reports] redefining eqv?

On Fri, 2010-12-24 at 04:19 -0500, John Cowan wrote:
> Peter Kourzanov scripsit:
> > BTW...Can someone with enough grey hairs remember why we have the horde
> > of predicates like =, eq?, equal? and eqv? What I understood is that
> > eqv? is sort-of one-size-fits-all idea gone astray
> EQV? is object equality, the identity of indiscernibles.  EQ? is an
> variant of EQV? that can answer #f on on characters and numbers in exchange
> for (hopefully) better performance.

Ah, so its not that eqv? is defined to be something in-between eq? and
equal? That's a connotation I had after ~5 years of looking into Scheme.

>  Programmers are encouraged to substitute
> a different structural-equality predicate if EQUAL? doesn't suit their
> needs: it is not primitive.

Exactly. And how are they are supposed to branch on the outcome of 
their brand-new predicate? Redefine their own special (case)?

> The proposed EQUAL=? will be like EQUAL, but will employ = rather than
> EQV? to compare numbers.

So, the list is growing already...

r6rs-discuss mailing list