[Vm-dev] Re: [Pharo-project] About ~= and ~~

Mariano Martinez Peck marianopeck at gmail.com
Wed Oct 12 17:26:27 UTC 2011


On Wed, Oct 12, 2011 at 6:44 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

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

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20111012/a18b5adc/attachment.htm


More information about the Vm-dev mailing list