Namespace, Package, Classbox and Local Rebinding
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:
> 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:
> Code of two signifiant tests is available on:
> 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
> 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 Bergel http://www.iam.unibe.ch/~bergel
More information about the Squeak-dev