[Pharo-project] ring new version question
Hi veronica I'm reading your changes again and I have some questions: environment: namespace namespace = self class environment ifFalse:[ environment := namespace ] why that? is it because you want to have pointer to Smalltalk globals by default for your ring objects? You would be mixing RING and Smalltalk classes? Stef
Another question = aRGMethodDefinition "This method look for equality of the key properties of the receiver" ^(super = aRGMethodDefinition) and:[ self selector == aRGMethodDefinition selector ] why not category? and source pointer? S.
May be we should just do it as in old = anotherMethodReference "Answer whether the receiver and the argument represent the same object." ^ self species == anotherMethodReference species and: [(self classSymbol = anotherMethodReference classSymbol) and: [(self classIsMeta = anotherMethodReference classIsMeta) and: [self methodSymbol = anotherMethodReference methodSymbol]]] On Aug 12, 2011, at 11:51 AM, Stéphane Ducasse wrote:
Another question
= aRGMethodDefinition "This method look for equality of the key properties of the receiver"
^(super = aRGMethodDefinition) and:[ self selector == aRGMethodDefinition selector ]
why not category? and source pointer?
S.
On 12 Aug 2011, at 12:04, Stéphane Ducasse wrote:
May be we should just do it as in old
= anotherMethodReference "Answer whether the receiver and the argument represent the same object." ^ self species == anotherMethodReference species and: [(self classSymbol = anotherMethodReference classSymbol) and: [(self classIsMeta = anotherMethodReference classIsMeta) and: [self methodSymbol = anotherMethodReference methodSymbol]]]
The one in ring does exactly the same, the super call is checking the parentName and isMetaSide
On Aug 12, 2011, at 11:51 AM, Stéphane Ducasse wrote:
Another question
= aRGMethodDefinition "This method look for equality of the key properties of the receiver"
^(super = aRGMethodDefinition) and:[ self selector == aRGMethodDefinition selector ]
why not category? and source pointer?
S.
ok so let us keep it like that then :)
= anotherMethodReference "Answer whether the receiver and the argument represent the same object." ^ self species == anotherMethodReference species and: [(self classSymbol = anotherMethodReference classSymbol) and: [(self classIsMeta = anotherMethodReference classIsMeta) and: [self methodSymbol = anotherMethodReference methodSymbol]]]
The one in ring does exactly the same, the super call is checking the parentName and isMetaSide
On Aug 12, 2011, at 11:51 AM, Stéphane Ducasse wrote:
Another question
= aRGMethodDefinition "This method look for equality of the key properties of the receiver"
^(super = aRGMethodDefinition) and:[ self selector == aRGMethodDefinition selector ]
why not category? and source pointer?
S.
On 12 Aug 2011, at 11:40, Stéphane Ducasse wrote:
Hi veronica
I'm reading your changes again and I have some questions:
environment: namespace
namespace = self class environment ifFalse:[ environment := namespace ]
why that? is it because you want to have pointer to Smalltalk globals by default for your ring objects? You would be mixing RING and Smalltalk classes?
A ring object can set a ring environment, if not it uses the default smalltalk environment without keeping a pointer to it. #environment: is call when adding elements (e.g. when adding a class to a package) to propagate the (ring) environment It won't mix, it will use the Ring environment (e.g. a RGNamespace) or the smalltalk environment
Stef
Hi Veronica-- Is there a Ring website with an overview? thanks! -C -- Craig Latta www.netjam.org/resume +31 6 2757 7177 + 1 415 287 3547
participants (3)
-
Craig Latta -
Stéphane Ducasse -
Veronica Isabel Uquillas Gomez