Re: [Scheme-reports] Procedural equivalence: the last debate
Alexey Radul 09 Jun 2013 14:15 UTC
Works for me, as would an implementation of Shinn's proposal.
~Alexey
On Sun, Jun 9, 2013 at 2:00 AM, Arthur A. Gleckler
<scheme@speechcode.com> wrote:
> On Sat, Jun 8, 2013 at 10:48 PM, John Cowan <cowan@mercury.ccil.org> wrote:
>
>>
>> +1, with the addition of records after pairs and bytevectors after
>> vectors.
>
>
> Yes, sorry, I should have made that adjustment. I hereby revise my
> proposal. Below is the language after your revision, starting from the
> phrasing from R7RS draft 9:
>
> The eqv? procedure returns #t if... obj1 and obj2 are procedures whose
> location tags are equal.
>
> The eqv? procedure returns #f if... obj1 and obj2 are procedures
> that would behave differently (return different value(s) or have
> different side effects) for some arguments.
>
> The above definition of eqv? allows implementations latitude in
> their treatment of procedures and literals: implementations are free
> either to detect or to fail to detect that two procedures or two
> literals are equivalent to each other, and can decide whether or not
> to merge representations of equivalent objects by using the same
> pointer or bit pattern to represent both.
>
> On symbols, booleans, the empty list, pairs, procedures, records,
> non-empty strings, vectors, and bytevectors, eq? and eqv? are
> guaranteed to have the same behavior.
>
> _______________________________________________
> Scheme-reports mailing list
> Scheme-reports@scheme-reports.org
> http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
>