Hi,

I posted the following thing on `comp.lang.scheme' but got no answer.

SRFI-9 apparently does not specify the behavior of `equal?' with record
instances.  Consider the following example:

 (define-record-type <chbouib>
   (make-chbouib obj)
   chbouib?
   (obj chbouib:obj chbouib:set-obj!))

 (equal? (make-chbouib 1) (make-chbouib 1))

According to R5RS, if the two `chbouib' instances print equally, they
should be `equal?'.

On Chicken, the two instances do print equally and Chicken considers
them `equal?'.  On Guile, the two instances print equally but are _not_
considered `equal?'.

To me, it looks like having `equal?' behave "as one may expect" (i.e.,
as in the Chicken case) would be very valuable and look more consistent
wrt. R5RS --- although, admittedly, relying on it would be Bad.

What do you think?

Thanks,
Ludovic.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

Reply via email to