On Wed, Jul 31, 2013 at 6:31 AM, Henrik Johansen <henrik.s.johansen@veloxit.no> wrote:

On Jul 31, 2013, at 3:23 , Mariano Martinez Peck <marianopeck@gmail.com> wrote:

> As far as I know, that's not possible in Pharo unless you explicitly register the desired objects in "WeakRegistry default" or similar (and implement #finalize).
> I think is the closest you have.
>
> Cheers,

A few clarifications:
�- You can use a non-default WeakRegistry (usually one specific to your domain, to avoid cluttering of the default one)
- You can specify a custom executor (any object which implements #finalize), rather than implement #finalize on objects you're interested in.

obj := Object new.
executor := ObjectFinalizer receiver: Transcript selector: #show: argument: 'Object GC''d!'.
myReg := WeakRegistry new.
myReg add: obj executor: executor.
obj := nil.
Smalltalk garbageCollect.


Nice!!! I never tried with a different executor nor other instance of WeakRegistry. That's cool. Thanks Henry.�
Cheers,
Henry



--
Mariano
http://marianopeck.wordpress.com