On Wed, Oct 12, 2011 at 8:38 AM, Levente Uzonyi
<leves@elte.hu> 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?