Squeak: A Free Smalltalk system

Smalltalk, oh Smalltalk, that's all I ever need..

from Calling All Stations, by Genesis.

What is Squeak?

Squeak is a free Smalltalk system originally released by a team including Alan Kay, Dan Ingalls, Ted Kaehler, John Maloney and Scott Wallace in 1996 when they were working at Apple. You might recognise the first three names from early Smalltalk papers from Xerox PARC. They produced a rather nice Smalltalk system with the unusual virtue that both the image and the Virtual Machine are open source - i.e. free, gratis and "no charge to you sir".

Finding Out More About Squeak

To find most of the web resources for Squeak, look at the Squeak.Org site. There are lots of pointers to information about Smalltalk, instructions for downloading Squeak, tutorials, FAQs etc. I won't waste space by duplicating any of it here. I do most strongly recommend that you read many of them.

Squeak runs on...

Macs, most UNIX systems, Windoze NT & 95 & CE and, of course, the Acorn RISC OS machines. See the above mentioned master page for details on how to get the files for any port other than the Acorn one.

I'm responsible for the RiscOS port. It probably runs on any post RISC OS 3.1 machine but I only have an Iyonix to test on.

Downloading Squeak for RISC OS Machines

See the downloading details page for instructions.

Building the VM with VMMaker

I'm also the Designated Muggins in Charge for the VMMaker package, the lump of Squeak code that defines and generates the bulk of the VM. See the VMMaker page on the Squeak Swiki for more info. You can fetch the VMMaker package from SqueakMap or use the SqueakMap tool in the image and look for (guess what?) VMMaker. You will also need a SubVersion client so that you can fetch the handwritten parts of the VM source code from our repository.

To run Squeak you need four things -

  1. A Virtual Machine. This makes a RISC OS machine (or a windoze machine or a Mac or a YoyoDyne or whatever) pretend to be a Smalltalk Machine. Like a java VM but rather better designed. And working properly these last thirty plus years. :-)
  2. A Virtual Image. This is the object world that will run on top of the VM to make a Smalltalk world come alive. These files are completely portable; we use the same one as on windoze, Mac, linux etc. The 'filetype' needs to be set to 'STImage'.
  3. A Sources file. This is a honking great big text file with the human readable source code of all the Smalltalk in the Virtual Image. Except for that in ...
  4. A Changes Log. Which is the source code of the changes made since last time the Sources file was condensed.
You can run without the latter two files in a deployment situation if you wish.

Stuff wot I wrote

I contributed a chapter to "Squeak: Open Personal Computing and Multimedia" edited by Mark Guzdial and Kim Rose, published by Prentiss-Hall. An online version of that chapter is here.

I worked on a realtime OS in Squeak whilst employed at Interval Research Corp

A short paper on making BitBlt work for little-endian machines without having an intermediate display-on-screen conversion


Here are some PS & gifs of the Squeak logo I designed that you may like to use:-

Feel free to download them and use them for links etc. If you'd like any other size, I can easily generate them for you from vector artwork.


Comments on Java programming:
"Java programming is like teenage sex ....

	-Everyone talks about it all of the time (but they don't really know what they're talking about);
	-Everyone claims to be doing it;
	-Everyone thinks everyone else is doing it;
	-Those few who are actually doing it:
		-Are not practicing it safely;
		-Are doing it poorly, and
		-Are sure it will be better next time."

[From a post on comp.lang.smalltalk]


email me at tim@rowledge.org