Namespace, Package, Classbox and Local Rebinding

stéphane ducasse ducasse at iam.unibe.ch
Thu Apr 15 12:07:43 UTC 2004


Alex where is the code?

On 15 avr. 04, at 13:28, 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
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>




More information about the Squeak-dev mailing list