On 20 Nov 2018, at 01:16, Eliot Miranda <eliot.miranda@gmail.com> wrote:

Hi David,

On Mon, Nov 19, 2018 at 9:52 AM David T. Lewis <lewis@mail.msen.com> wrote:
On Mon, Nov 19, 2018 at 09:32:17AM -0800, Eliot Miranda wrote:
> Hi All,
>
>     In VisualWorks Message implements #= & #hash naturally; two messages
> whose selectors and arguments are #= are also equal.  But in Cuis, Squeak
> and Pharo Message inherits #= and #hash from Object, i.e. uses identity
> comparison.  This is, to say the least, annoying.  Any objections to
> implementing comparing in Message to match VisualWorks?
>

That sounds like an obviously good thing to do :-)

Is the lookupClass instance variable relevant for comparisons? I am
guessing not, since we already have #analogousCodeTo: for that type of
comparison.

For me it is relevant.  Two messages with different lookupClasses, e.g. one with nil and one with a specific class, represent different messages, one a normal send one a super send.  So my changes in waiting include lookupClass in both hash and =.  I don't think it makes much difference, but the incompatibility with VisualWorks, while regrettable, feels correct to me.


To me this looks like a good change, yes.

Marcus