Java's modules rock? (was Re: election details)

Bergel, Alexandre bergel at iam.unibe.ch
Sat Mar 3 16:36:03 UTC 2007


>> I don't think it would be conceptually hard to do something similar
>> in Smalltalk if you were to have class lookup work similarly to
>> method lookup but along namespace hierarchies.

No, this is not difficult to achieve. This is even called "virtual  
classes", or "virtual type".
Want some example of existing systems? CaesarJ [1], Keris [2], gbeta  
[3],

[1] http://caesarj.org/
[2] Author's web page: http://zenger.org/research.html
[3] http://www.daimi.au.dk/~eernst/gbeta/ and particularly http:// 
www.daimi.au.dk/~eernst/papers/fampol.ps
[4] Thesis of William Cook, http://www.cs.utexas.edu/~wcook/papers/ 
thesis/cook89.pdf , most interesting for our purpose is Section 3.5  
page 27.

> I'm working on that.
>
> Now... if I make a stable, usable, clean and largely
> backwards-compatible solution, will people integrate it into Squeak?
> It would be a very large, dare I say revolutionary change.

Should be trivial to implement in Squeak. Some issue arise when  
implementing this in a static type language (http://www.daimi.au.dk/ 
~eernst/papers/tr-pb577.pdf), however this is not an issue for squeak.

Where you might have some problems is to achieve a complete  
integration with the tools...



>> The other thing that
>> would make extension safe is a copy on write semantic with class
>> wherein extensions to classes that are not local to your namespace
>> result in a new class with the same name in your namespace being
>> created that derives from the class in the parent namespace.  Thus,
>> your mods are kept local to your context.  It does make class binding
>> harder as class names have to be resolved dynamically in the methods
>> that reference them.
>
> That's harder.

This is a hard problem. I spend 4 years on it (http:// 
www.iam.unibe.ch/~scg/Archive/Papers/Berg05aclassboxesJournal.pdf ,  
feel free to skip the greek stuff if you're not comfortable with).

I am interested in having virtual classes in Squeak.

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.cs.tcd.ie/Alexandre.Bergel
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






More information about the Squeak-dev mailing list