I don���t think there is a formal definition. I���ve heard it described as ���answers the same result when sent the same message��� but that wouldn���t work for #���identityHash���, so I think it is whatever you say it is in your domain.

By the way, I try to avoid the term ���equal��� and use ���equivalent��� and ���identical��� to describe #���=��� and #���==��� respectively.

James

On Aug 23, 2022, at 3:48 PM, sean@clipperadams.com wrote:

Anyone know of a book that goes in depth explaining `#=`?

I've always wondered what "equal" is supposed to mean.

For example, if I have two objects representing the same person, but one has their webpage cached as state, they represent the same entity, and are interchangeable in many contexts, but also have a difference that may be important in other contexts.

Is ���equal��� whatever you say it is in your domain, or is it a Smalltalk object system concept? If the latter, what is the exact expectation?