Namespace, Package, Classbox and Local Rebinding

Alexandre Bergel bergel at iam.unibe.ch
Thu Apr 15 12:55:38 UTC 2004


On squeakmap under the entries classbox and classboxbrowser

Alexandre

On Thu, Apr 15, 2004 at 02:07:43PM +0200, stéphane ducasse wrote:
> 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
> >^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> 

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



More information about the Squeak-dev mailing list