[Pharo-project] [Ann] Ephemerons for Cog

Chris Cunnington smalltalktelevision at gmail.com
Tue May 24 15:30:16 CEST 2011

On 24 May 2011 14:46, Chris Cunnington<smalltalktelevision at gmail.com  <http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project>>  wrote:
>/  "But if the dependents are stored in some global dictionary from model to
/>/  sequence of dependents then the
/>/  reference from the global dictionary keeps both the model and the dependents
/>/  alive."

>  So, how presence of namespaces could make GC faster?

Well I'm hardly presuming to know, but if you have one dictionary acting as a global namespace. As far as I understood ephemerons, the
problem is you have a single dictionary/namespace. Both the model and the view connect to an object. The model lets it go. The view
doesn't. So this is an object you want to collect, because the model has let it go. This means you have a phantom reference that tricks
the GC. That seems to me to be what ephemerons solve. I'm looking solely at the MVC Eliot mentioned, because shorn of context the
description didn't mean anything to me.

You have ephemerons to reveal the phantom reference. Bam - then the object gets collected. As this seemed to be all about dictionaries,
which I take as being synonymous with namespaces if the model and the view were in separate dictionaries, then you couldn't have the
problem that ephemerons solve.

I wouldn't take me all that seriously here. I'm just trying to play around after reading Eliot's post three times. Smalltalk being
folklore, I'm endeavoring to get you to talk about this just a little bit more.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110524/34d9df11/attachment.htm>

More information about the Pharo-project mailing list