[scheme-reports-wg1] Equality of records John Cowan (01 Mar 2012 18:38 UTC)
Re: [Scheme-reports] Equality of records Ray Dillinger (01 Mar 2012 19:15 UTC)
Re: [Scheme-reports] Equality of records John Cowan (02 Mar 2012 16:51 UTC)
Re: [Scheme-reports] Equality of records Alaric Snell-Pym (02 Mar 2012 17:04 UTC)
Re: [scheme-reports-wg1] Equality of records Alex Shinn (02 Mar 2012 01:45 UTC)

Re: [scheme-reports-wg1] Equality of records Alex Shinn 02 Mar 2012 01:45 UTC

On Fri, Mar 2, 2012 at 3:38 AM, John Cowan <cowan@mercury.ccil.org> wrote:
> Draft 6 requires that `equal?` recursively descend into records.  However,
> the WG did not explicitly vote for this feature, nor is it mentioned
> in SRFI 9, which is our source document for records.  In addition,
> R6RS explicitly forbids it, requiring that all objects except pairs,
> vectors, strings, and bytevectors be compared with `eqv?`.  Therefore,
> I have applied the following diff:

We did not vote on the R6RS semantics either,
and what we did vote on - that cycles be detected -
is in fact very different from R6RS.

I can understand that with an equal? that diverges
one would be reluctant to descend into records,
which are far more likely that pairs or vectors to be
cyclic (e.g. any tree-like data structure with parent
pointers).  But we don't have this worry, and Ray's
arguments are valid - it's counter-intuitive and
inconvenient not to handle records properly.

I'll add this to the current ballot.

--
Alex