<div dir="ltr">It is interesting. In base Squeak, the only time that lookupClass is set is, well, never(!).  There is a setter method, but it isn't called is base Squeak.  It is checked a couple of times, but unless there is hidden machinery in the VM that sets it, it isn't actually ever used.<div><br></div><div>Unless someone decided to use it in their code.</div><div><br></div><div>-cbc</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 20, 2018 at 9:06 AM Chris Muller <<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It sounds good, but an Inbox submission would go a long way to<br>
understanding exactly what you mean esp. re: understanding this<br>
special condition with the lookupClass being nil...  and whether it<br>
deserves a first-class name or not...<br>
On Tue, Nov 20, 2018 at 4:10 AM Levente Uzonyi <<a href="mailto:leves@caesar.elte.hu" target="_blank">leves@caesar.elte.hu</a>> wrote:<br>
><br>
> On Mon, 19 Nov 2018, Eliot Miranda wrote:<br>
><br>
> > Hi David,<br>
> ><br>
> > On Mon, Nov 19, 2018 at 9:52 AM David T. Lewis <<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>> wrote:<br>
> >       On Mon, Nov 19, 2018 at 09:32:17AM -0800, Eliot Miranda wrote:<br>
> >       > Hi All,<br>
> >       ><br>
> >       >     In VisualWorks Message implements #= & #hash naturally; two messages<br>
> >       > whose selectors and arguments are #= are also equal.  But in Cuis, Squeak<br>
> >       > and Pharo Message inherits #= and #hash from Object, i.e. uses identity<br>
> >       > comparison.  This is, to say the least, annoying.  Any objections to<br>
> >       > implementing comparing in Message to match VisualWorks?<br>
> >       ><br>
> ><br>
> >       That sounds like an obviously good thing to do :-)<br>
> ><br>
> >       Is the lookupClass instance variable relevant for comparisons? I am<br>
> >       guessing not, since we already have #analogousCodeTo: for that type of<br>
> >       comparison.<br>
> ><br>
> ><br>
> > 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<br>
> > 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.<br>
><br>
> What about Behavior >> #hash? It uses the name of the class, which is fine<br>
> as long as you don't rename your classes while you store them in hashed<br>
> collections.<br>
><br>
> Levente<br>
><br>
> ><br>
> >       Dave<br>
> ><br>
> ><br>
> > _,,,^..^,,,_<br>
> > best, Eliot<br>
> ><br>
> ><br>
<br>
</blockquote></div>