[Pharo-project] Working with weak announcements...

Tudor Girba tudor.girba at gmail.com
Tue Feb 15 17:37:55 CET 2011


Hi Esteban,

I started to refactor all usages of on:do: and when:do: into on:send:to: in the core of Glamour. I am almost finished.

Now the only question is if we want to distinguish between WeakAnnouncer and Announcer. Is there a performance penalty or another kind of drawback in merging the two and use the WeakAnnouncer implementation only?

The other thing is that we need to add on:send:to:with: and on:send:to:withAll: because we need to handle extra parameters (given that we cannot access local variables).

Cheers,
Doru



On 15 Feb 2011, at 13:45, Esteban Lorenzano wrote:

> Well... not exactly, still something to do: the weak associations on weakannouncer are getting a lot of pairs #selector->nil and we need to think in a way to clean this. But this is doable :) 
> In other order of things, I think we should explicitly forbid the use of #on:do: and #when:do: until the fix for blocks is ready.
> 
> Cheers,
> Esteban 
> 
> El 14/02/2011, a las 6:55p.m., Tudor Girba escribió:
> 
>> Aha. Thanks a lot. Ok, let's do that. Is it true that the Lukas' Announcements already provide the support for on:send:to: ?
>> 
>> Cheers,
>> Doru
>> 
>> 
>> On 14 Feb 2011, at 22:04, Esteban Lorenzano wrote:
>> 
>>> Hi,
>>> Well, this means, in the mean time, if we want to solve our issue 492 using weak announcements, we need to replace all #on:do: calls for #on:send:to: 
>>> :(
>>> 
>>> Cheers,
>>> Esteban
>>> 
>>> Inicio del mensaje reenviado:
>>> 
>>>> De: Stéphane Ducasse <stephane.ducasse at inria.fr>
>>>> Fecha: 14 de febrero de 2011 17:57:07 GMT-03:00
>>>> Para: Pharo-project at lists.gforge.inria.fr
>>>> Asunto: Re: [Pharo-project] Working with weak announcements...
>>>> Responder a: Pharo-project at lists.gforge.inria.fr
>>>> 
>>>> good question :)
>>>> 
>>>> On FHi, 
>>>>> I'm working with weak announcements,
>>>> 
>>>> good we need that. 
>>>> Igor was telling me that the right anwser are ephemerons (but for that: gc change is required).
>>>> Now it would be good to have first a solution at image level
>>>> 
>>>>> trying to make it work, and I have a problem in #on:do: protocol (or #when:do:) 
>>>>> I try to explain: 
>>>>> 
>>>>> This method receives a block, not an object/selector, so I can't create a WeakMessageSend which is the appropriate message to handle in other cases.
>>>>> Well, the real question is... how can I produce a "Weak BlockClosure reference" who can die if receiver dies? 
>>>>> I tried some hacks (really ugly hacks, btw), but fail completely. 
>>>>> Any idea?
>>>>> 
>>>>> best,
>>>>> Esteban
>>>> 
>>>> 
>>> 
>> 
>> --
>> www.tudorgirba.com
>> 
>> "Problem solving efficiency grows with the abstractness level of problem understanding."
>> 
>> 
>> 
> 

--
www.tudorgirba.com

"Reasonable is what we are accustomed with."





More information about the Pharo-project mailing list