multiple versions of same package vs. mini-images (Was: Re: Guaging & Squeak/JVM)

Igor Stasenko siguctua at gmail.com
Mon Feb 11 11:38:39 UTC 2008


I'll try to be short.
1. No, smalltalk VM (at least  squeak) doesn't care about globals (in
most cases). It uses a special objects table, which can be replaced on
the fly.
It simply because VM don't need to access globals when doing method
lookup. All objects refer to its classes directly.

2. To get rid of globals you have to change only few lines in compiler
code :) Of course, you should provide something another in exchange.
Btw, if you search mail archives, you'll find a discussion about that.

3. The main barrier in making multiple versions of same class/package
to live is support of  dev tools (browser/compiler). VM don't require
groundbreaking changes to support this.
The exception is tagged oops (smallintegers) and well known
singletons: nil/true/false objects.  Even if you will have multiple
SmallInteger classes, instances will be able to use only one of them.
This is a sacrifice.. Well, but you can always make boxed integers :)

2 Paul: most of these ideas can find a way into world, when Michael
van der Gulik will release his SecureSqueak project.
So, i suggest, you better discuss details with him in first place,
since he is the most interested person in this area. My idea of having
multiple versions of packages was just a fruit of discussion with him
:)
Also, i noticed that Mike's view on many things in different areas are
very similar to mine, which is good :) Who knows, maybe we'll join our
efforts someday.


-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list