Subjective Squeak

Anthony Hannan ajh18 at cornell.edu
Wed Dec 11 20:36:07 UTC 2002


"Brent Vukmer" <bvukmer at blackboard.com> wrote:
> I see two parallel paths for layered programming environments, being
> described on the list:
> (A) multiple images built out of various permutations of packages
> (B) a single image running multiple versions of a package in different
> projects/namespaces
> 
> In approach (A), the infrastructure is:  shared repository ( a la
> Monticello) + packages + load scripts + factored image.

In approach (B), the infrastructure is: shared repository (a la
Monticello/SqueakMap) + packages/layers + image containing only layers
that the user wants (could be multiple independent layers).  No load
scripts needed.  Layers are in an inheritance hierachy, inherited layers
are prerequisites.

>  In approach (A) a Squeaker would build a fresh image to spec for each
> combination of package releases that I want to explore.

In approach (B) a Squeaker would specify which layers he wants from
SqueakMap and they would be downloaded to his image.  Once there he can
switch to different projects/packages/layers without rebuilding his
image.  If we wants to check out more layers he goes back to SqueakMap
and downloads them into his image, without every worrying about
conflicts. 

> As the image shrinks and SqueakMap grows, and Monticello
> becomes more and more robust, this approach seems like it will quickly
> approach a very close approximation of the experience provided by (B).

Likewise, the base layer/image can shink extracting stuff out into new
layers and putting them on SqueakMap.

> What could be done in (B) that couldn't be done at all in (A)?
>  Or in what cases would (B) provide a more enjoyable/instructive experience for
> people to build something in Squeak?

Switching packages/points-of-view/"images" within the same image without
having to build a new image.  And downloading packages without worry about
conflict.  Also, having multiple packages in the image available for
analysis, that would be conflicting in (A) and therefore not both
visible.

Cheers,
Anthony



More information about the Squeak-dev mailing list