This page is part of the web mail archives of SRFI 111 from before July 7th, 2015. The new archives for SRFI 111 contain all messages, not just those from before July 7th, 2015.
Alexey Radul scripsit: > I don't think that's right. The whole point of boxes is to be > mutable; which means the correct treatment [1] thereof by equality > predicates is to compare by identity. Henry Baker's `egal?`, though I like it very much, is not "the correct treatment", in the sense of the only possible or reasonable treatment, of equality. There is a place for it, yes; but there is also a place for contingent equality. "Is the value in that box (of money, say) equal to the value in this box?" is not an ill-posed question, and it is this kind of equality that `equal?` provides in Scheme as it is. By your argument, since vectors are also usually used for their mutability, `equal?` should reduce to `eqv?` on them too, yet this has never been so. In short, `equal?` is and always will be flawed. A generalized equality predicate that can be tailored to specific applications is needed. I think I'll push that ahead of hash tables, which I was planning to do next. > [1] http://www.pipeline.com/~hbaker1/ObjectIdentity.html -- An observable characteristic is not necessarily John Cowan a functional requirement. --John Hudson cowan@xxxxxxxx