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 <[email protected]> >>>> Fecha: 14 de febrero de 2011 17:57:07 GMT-03:00 >>>> Para: [email protected] >>>> Asunto: Re: [Pharo-project] Working with weak announcements... >>>> Responder a: [email protected] >>>> >>>> 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."
