Oct. 5, 2010
6:49 a.m.
Moreover, case (b) comes from the inability to dynamically add extra slot(s) to object, which you can easily do in Self or JavaScript, but can't do in smalltalk.
It can be done better, with extra VM features, but without those, it's pretty close to best possible solution IMHO. There are already two different classes for a) and b): WeakRegistry and WeakKeyDictionary (and subclasses).
Igor Levente is right. Having dynamic slots to object is nearly a paradigm shift. So let us focus on what we can do now. Now is there a technical problem to apply the solution implemented by levente in Squeak? Because if not this is what we should do. Stef