Behaviors vs Modules

Les Tyrrell tyrrell at canis.uiuc.edu
Sat Feb 23 06:09:42 UTC 2002


----- Original Message -----
From: Daniel Joyce <daniel.a.joyce at worldnet.att.net>
To: <squeak-dev at lists.squeakfoundation.org>
Sent: Friday, February 22, 2002 9:05 PM
Subject: Re: Behaviors vs Modules

> Someone posted a reference to a paper on "layers" which was very
> interesting too. It's somewhere in the list within the last 1-2 weeks.

Perhaps you are thinking of "Collage", which was a proposal that Hans
Martin-Mosner set out a few years ago.  Check the Squeak swiki, he has a page
there describing it.

> The notion of layers also solves modules, and namespaces, and could be used
for
> sandboxing too.

Collage's layers have a lot of very useful properties.  They are ( at least to
the way I see things ) somewhat independent of a namespace scheme- instead,
more of a layered approach to composition.  Definitions are allowed to
overlap, and within some contexts ( probably another layer, created for that
purpose ) those overlaps can be taken care of by providing an overlay that
resolves any conflicts.  There are lots of real-world examples where this sort
of approach would have a great deal of merit.  The contents of any given
overlay ( or layer ) would be a "module" in some sense- a package of
definitions maintained as a coherent, versioned entity.

Sandboxing ( at least as I understand it ) is a somewhat different animal.  In
Oasis, this means that, to the greatest extent possible ( a slowly increasing
metric ), under no circumstances should code inside the sandbox be able to get
at things outside the sandbox.  This is one of the few things that I have a
fairly good grip on in Oasis. The flip side of this is that, once you've
quarantined the various bits and pieces of a system in individual sandboxes
 in Oasis, modules ), you need some way to let them connect to each other.
That part I haven't spent nearly as much effort on, so at this stage I only
have some thoughts and a few experiments where I tried various things out, but
not a working system that accomplishes that.  It never looked like it would be
a big problem, so I focused on some other, harder problems instead.  So, for
now at least, in Oasis a module actually looks more like a "mini-image", as
David Simmons wrote in another message.  That is, sort of an isolated world
unto itself.

- les







More information about the Squeak-dev mailing list