Modules

Doug Way dway at mailcan.com
Thu Feb 24 17:09:34 UTC 2005


On Thu, 24 Feb 2005 08:35:44 -0800, "Ned Konz" <ned at squeakland.org>
said:
> On Wednesday 23 February 2005 10:25 pm, Colin Putney wrote:
> > I quite like Alan Lovejoy's characterization of packages as units of
> > separately deployable code, and I hope that doesn't get overlooked in
> > the all the discussion of versioning, categories, namespaces,
> > dependencies and so on. All those things are necessary to some degree,
> > since they are ways of dealing with the additional complexity that a
> > packaged image brings with it, but they're not end goals in themselves.
> > Separately-deployable packages is what we're after.
> 
> Yes, and as Robert Martin points out, that means that if two packages
> depend 
> on each other, then they may as well be considered parts of the same
> package, 
> because you can't version them separately.
> 
> So much of the refactoring work in complicated systems amounts to
> removing 
> these circular dependencies so you can develop packages at different
> rates.

Agreed...

Just to throw in a concrete example, Goran & I were casually discussing
(on a partitioning thread here a month ago) whether Collections should
be partitioned as a separate PI package from Kernel.  On one hand, you
might have a separate group of maintainers taking care of Collections,
versus the Kernel, which makes some sense.  (At least this was the
initial idea with TFNR.)  But Collections is not at all separately
deployable from Kernel, the two are very dependent on each other.  I
think the separate deployability aspect is more important, so I'd favor
keeping them in the same package.

This is sort of a special case, since the Kernel is not exactly a
"package" which can be loaded, it is the base image.  (Although it could
still be defined as a package or module.)

Also, I'm mixing the simple near-term partitioning project with the
longer-term modules project here.  (Though it's not *too* long-term as
Dan says. :) )  But I think the principles are the same in this case. 
Our partitioning should still be roughly based on deployable units.

- Doug



More information about the Squeak-dev mailing list