Four flavors for object equality

An in-depth analysis of equality concept in programming languages.

Four flavors for object equality seems too much: objects have a unique identity. Very often, however, when we say that two entities are equal we do not mean they are physically the same object, but we are referring to a set of physical objects that have properties that make them equivalent.