Unlike the standard equalities, MW-EQUIV can be extended for new objects through a simple CLOS protocol. The rules when two objects are considered equivalent distinguish between mutating and frozen objects. A frozen object is promised not to be mutated in the future in a way that operations on it can notice the difference.
Documentation can be found on the MW-EQUIV home page. An article on MW-EQUIV provides some background and additional examples.
ASDF-install package (obsolete) http://www.foldr.org/~michaelw/projects/mw-equiv/mw-equiv.tar.gz
Topics: language extension