2010/3/23 Stéphane Ducasse <[email protected]>:
>> On Mon, Mar 22, 2010 at 2:54 PM, Nicolas Cellier 
>> <[email protected]> wrote:
>> You might also want to check last code published in trunk.
>>
>> I saw that.  You're eliminating closeTo: for float comparison which seems 
>> fine to me :)  Thanks Nicolas!
>> However, it is indicative that a recompile all is necessary after redefining 
>> the number scanning facilities.  I guess that this is part of the standard 
>> release build process.  If not, we should add it.
>
>
> I saw the following but I could not see the float issue you mentioned. Where 
> it is?
>

It's in CompiledMethod >> #=

Note that Pharo has implemented different workaround for handling
cases like (Float class>#nan) =  (Float class>#nan) copy, but these
are fragile.
trunk implementation rely on (lit1 == lit2) to handle this case.

Nicolas

>
> analogousCodeTo: aMethodProperties
>        | bs |
>        (aMethodProperties isKindOf: MethodProperties) ifTrue: 
> [^aMethodProperties analogousCodeTo: self].
>        (bs := self basicSize) ~= aMethodProperties basicSize ifTrue:
>                [^false].
>        1 to: bs do:
>                [:i|
>                ((self basicAt: i) analogousCodeTo: (aMethodProperties 
> basicAt: i)) ifFalse:
>                        [^false]].
>        ^true
>
> hasAtLeastTheSamePropertiesAs: aMethodProperties
>        "Answer if the recever has at least the same properties as the 
> argument.
>         N.B. The receiver may have additional properties and still answer 
> true."
>        aMethodProperties keysAndValuesDo:
>                [:k :v|
>                (v isKindOf: Pragma)
>                        "ifTrue: [Pragmas have already been checked]"
>                        ifFalse: [
>                                (self includes: k->v) ifFalse: [^false]]].
>        ^true
>
>
>
>
> On Mar 22, 2010, at 10:54 PM, Nicolas Cellier wrote:
>
>> You might also want to check last code published in trunk.
>>
>> Nicolas
>>
>> 2010/3/22 Eliot Miranda <[email protected]>:
>>>
>>>
>>> On Mon, Mar 22, 2010 at 2:25 PM, Stéphane Ducasse
>>> <[email protected]> wrote:
>>>>
>>>> eliot
>>>>
>>>> Your changes fixed some of the problems. Now I tried to fix the test
>>>> testAnalogousCodeTo in MethodPropertiesTest and
>>>> the expression returns false.
>>>>
>>>> (#zork->'hello') analogousCodeTo: (#zork->'hello')  -> false
>>>>
>>>> (#zork->'hello') = (#zork->'hello') -> true
>>>
>>> For me
>>>     #(#zork -> 'hello') size 3
>>> In Pharo is it true that
>>> #(#zork -> 'hello') size 1
>>> ??!?!
>>> In that case I would implement analogousCodeTo: in Association, e.g.
>>> analogousCodeTo: anObject
>>>     ^anObject class == self class
>>>     and: [key = anObject key
>>>     and: [value = anObject value]]
>>>
>>> But if Association isn't a literal I would simply check
>>> MethodPropertiesTests.  It could be obsolete.
>>>>
>>>> Stef
>>>>
>>>> On Mar 22, 2010, at 6:20 PM, Eliot Miranda wrote:
>>>>
>>>>> Oops.  Find attached.
>>>>>
>>>>> 2010/3/22 Cyrille Delaunay <[email protected]>
>>>>> try in a Pharo-1.0-10515-rc3 image :
>>>>>
>>>>> |set|
>>>>> set := Set new.
>>>>> Collection withAllSubclasses do: [:aClass |
>>>>>       set addAll: aClass methods
>>>>>       ].
>>>>>
>>>>> It will raise an exception telling: "MessageNotUnderstood:
>>>>> ByteSymbol>>analogousCodeTo:".
>>>>> Indeed, in the code of CompiledMethod >> = , the message
>>>>> 'analogousCodeTo:' is send to a
>>>>> symbol.
>>>>>
>>>>>
>>>>> I opened an Issue:
>>>>> http://code.google.com/p/pharo/issues/detail?id=2185
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [email protected]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>>
>>>>> <Object-analogousCodeTo.st>_______________________________________________
>>>>> Pharo-project mailing list
>>>>> [email protected]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to