On Wed, Oct 12, 2011 at 6:44 PM, Eliot Miranda <[email protected]>wrote:
> > > > On Wed, Oct 12, 2011 at 8:38 AM, Levente Uzonyi <[email protected]> wrote: > >> On Wed, 12 Oct 2011, Clara Allende wrote: >> >> Hi guys, >>> >>> I'm wondering, why? >>> >>> ProtoObject>> ~~ anObject >>> "Answer whether the receiver and the argument are not the same object >>> (do not have the same object pointer)." >>> >>> self == anObject >>> ifTrue: [^ false] >>> ifFalse: [^ true] >>> >>> Instead of: >>> ProtoObject>> ~~ anObject >>> "Answer whether the receiver and the argument are not the same object >>> (do not have the same object pointer)." >>> >>> ^(self == anObject) not >>> >>> And why? >>> Object >> ~= anObject >>> "Answer whether the receiver and the argument do not represent the >>> same object." >>> >>> ^self = anObject == false >>> >>> Instead of >>> Object>> ~= anObject >>> "Answer whether the receiver and the argument do not represent the >>> same object." >>> >>> ^(self = anObject) not. >>> >>> Is there any particular reason for this that I'm missing? >>> >> >> Performance. >> > > But better still is to add a ~~ primitive. I did this for VisualWorks. > e.g. primitive 150 is free. why don't we use that for 1.4/4.3? > > with or without special bytecode associated? > >> >> Levente >> >> Thanks in advance! >>> -- >>> >>> "*Most good programmers do programming not because they expect to get >>> paid >>> or get adulation by the public, but because it is fun to program.*" >>> >>> Linus Torvalds >>> >>> >> > > > -- > best, > Eliot > > > -- Mariano http://marianopeck.wordpress.com
