[R6RS] non-opaque record equality

Michael Sperber sperber at informatik.uni-tuebingen.de
Sat Feb 25 06:10:49 EST 2006


Matthew Flatt <mflatt at cs.utah.edu> writes:

> Would it make sense for two records could be `equal?' when 
>
>  1. they are instances of the same *non-opaque* record type, and 
>
>  2. their corresponding field values are all `equal?'
>
> ? This change seems consistent with the SRFI's reflection support on
> non-opaque records.
>
> I have no strong opinion, but I thought I'd bring it up for a couple of
> reasons: extending `equal?' this way has been convenient in MzScheme,
> and I didn't see any discussion of this possibility in the R6RS or SRFI
> email archives (but there was a lot of discussion specifically about
> equality, and I could easily have overlooked specifics thoughts on
> opacity).

I disagree pretty strongly, after having worked with Common Lisp's
EQUALP (which does essentially the same thing) in a project.  It sure
feels convenient for a while, but there's almost always a bad
awakening.  There was a discussion on this that's archived here:

https://r6rs.scheming.org/node/98

I wrote a longer position post here:

https://r6rs.scheming.org/node/98#comment-743

The Common Lisp issue referenced in the post and in the SRFI has even
more.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla



More information about the R6RS mailing list