Note this is obsolete and of interst only to those considering porting the closure compiler to pre-closure Squeak dialects. The closure compiler is the standard compiler in Squeak 4.1, Pharo 1.0 and Cuis 2.0. This is the bootstrap to closures for Croquet.1.0 and Squeak 3.9 images. We've tested the bootstrap on Croquet.1.0.18 and Squeak3.9-final-7067 and on internal Qwaq Forums images. Please tell me if you get the bootstrap working on any other releases. If you mail me changes I'll do my best to integrate them. Advice on how better to release this stuff gratefully received but I may not be able to act on it any time soon as time is as precious now as ever. This is not for inexperienced Squeakers. You'll need to be happy producing your own VM. If you're trying to port to anything other than Croquet 1.0 or Squeak 3.9 you'll also have to be prepared for image lockups, a broken debugger and all sorts of other potential disasters in trying to get the bootstrap to load in other than the tested releases. You have been warned :) OK, the first thing is to produce a VM that can run the closure bytecodes. You'll need to integrate ClosureVMBootstrap.1.cs into a VM and punch it out using VMMaker. I started from Qwaq's own VM fork which derives from VMMaker-tpr.43 of 30 December 2005. N.B. This changes the release ID of the VM and images saved by it. So once you save an image using this VM it won't load on older VMs. So save a copy! Once you have a VM with the new closure bytecodes you can run the bootstrap. The bootstrap files are in ClosureBootstrap-YY-MM-DD.tar.gz. It contains a directory of source files (changesets) and a boot script in two parts, install.st and cleanup.st (thanks Andreas!). install.st files-in the sources. cleanup.st preens the image to complete the bootstrap. Download the latest version, ClosureBootstrap-08-11-14.tar.gz. Read install.st. The instructions for the bootstrap are there-in. N.B. This version has changed the representation of BlockClosure to keep copied values in indexed instance variables of BlockClosure instead of a separate array. So images produced with the old 08-08-24 bootstrap won't run on the new VM. Good luck! Eliot Miranda November 2008 Tim Rowledge: Well, as I was saying to Lucius Septimus Severus back then , "Emp", I said, "Emp - we need to put a flag in some primitive". Of course he misunderstood and took a legion or two off to impale some barbarians."