Teaching Image

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Tue Mar 11 16:25:51 UTC 2003


Jimmie Houchin <jhouchin at texoma.net> wrote:
> With all of the discussion of Documentation and Teaching of Squeak, I 
> had this thought. I don't know if it had been expressed before, so I 
> thought I would toss it out into the forum. :)
> 
> As Squeak gets refactored and get broken down into its various parts it 
> would be nice to see something along the lines of a Squeak Teaching Image.
> Kernel -> Core -> Teaching Image
> 
> People could use the 'base', 'kitchensink' (or whatever name) image for 
> browsing, exploring and plain having fun. But it would be nice for 
> teaching or learning purposes if there were an image or a package on SM 
> for creating such an environment. This environment could be tightly 
> focused on teaching/learning Squeak.
> 
> Once someone has mastered or at least reached a sufficient level of 
> competence in the Teaching/Learning environment they could proceed to 
> take those skills into the larger areas of Squeak.
> 
> Maybe there could be an area on SqueakMap for such endeavors?

There is actually. Currently it is a bit hard to make work since we
don't yet have package releases (hopefully coming next week after my
upcoming hack-all-night-weekend) - *but* "static load scripts" are
exactly meant to provide this.

In essence a "load script" is a .st file that when installed simply
installs a sequence of specific package releases from SM. So it is in
fact a image build recipe. And thus it can be viewed as a Squeak
"distro".

The distinction with a "dynamic load script" is that a dynamic one can
have "smartness" built in - like asking the user for decisions etc.
Think like when you build a kernel in Linux - you ask tons of questions
about what to include etc and it builds the image for you.

But since the end result will not be the same each time it is a
"dynamic" load script.

So... *as soon* as we get SM1.1 we can start playing with this and
anyone can register a load script with their favourite packages! Pretty
neat actually.

Then of course there is a Grand Plan for a dependency resolution engine
too, but that is The Next Step.

But anyway, if you want to play with this you can easily register a
.st.gz package on SM that simply uses the SM api to install a bunch of
packages. Piece of cake. Typically it's code like this:

SMSqueakMap default loadUpdates.
SMSqueakMap default installPackageNamed: 'Comanche'.
SMSqueakMap default installPackageNamed: 'Swiki'.

...just as simple as that, try it in a workspace and you will see them
getting installed.
The Swiki package needed Comanche first. BUT as you can see we can't
specify *which version* of the packages since we don't have package
releases in SM yet so... Well, you get the point. But it's coming!

> It would be nice also to see some of the SqueakLand, Etoys, 
> SuperHyperCard, etc. packaged up for SM.
>
> Just some thoughts, just in case its a slow day on the list. ;)

Cough, right.

> Jimmie Houchin

regards, Göran



More information about the Squeak-dev mailing list