Namespace, Package, Classbox and Local Rebinding

Alexandre Bergel bergel at iam.unibe.ch
Thu Apr 15 15:45:49 UTC 2004


Just a word to say that VMNormal is obsolete. I will remove it.
All the tests are now contained in the class LocalRebindingTests.

Cheers,
Alexandre


On Thu, Apr 15, 2004 at 01:28:44PM +0200, Alexandre Bergel wrote:
> Hello!
> 
> We have designed a module system for Object-Oriented Language: the Classbox Model. Our running implementation is made in Squeak and it is available on SqueakMap.
> A Classbox, which is the basic entity of the model:
>  - is a unit of scoping (it acts as a namespace)
>  - can define classes and variables
>  - can import classes offered by other classbox
>  - can define method on any class visible within it.
> 
> A classbox browser is also available through the world menu.
> 
> A Classbox is more than a namespace. It does not only contain classes, but also methods. Because it bounds the visibility for any element defined in it, conflicts are avoided regarding class extension. Two classboxes can extend the same class with two methods having the same name but different method body.
> 
> A tutorial about the classbox is available on:
> http://kilana.unibe.ch:9090/classboxes/classboxtutorial/
> 
> Code of two signifiant tests is available on: 
> http://kilana.unibe.ch:9090/classboxes/tests/
> Useful to have a quick idea of what is concretely a classbox and how it can be used.
> 
> The goal of the classbox is to provide a simple but powerful simple module system that confine change in a limited scope. 
> This mean that I am sure that if I load your code:
>   - I will be able to unload it and so whatever the extension performed, and
>   - if you redefine a method, I am sure that my client will not be affected.
> 
> One important point is that a classbox can be used for deployment. Something where namespaces are not suitable for. Applications can be shipped in a set of classboxes, and then distributed over.
> 
> Any comment appreciated.
> Alexandre
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.iam.unibe.ch/~bergel
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.iam.unibe.ch/~bergel
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



More information about the Squeak-dev mailing list