Last updated at 11:25 am UTC on 5 July 2009
The "Minimal release" of Squeak would be the smallest possible kernel which contains a bootstrappable core of Squeak. This could be used for creating lightweight configurations, experiments, etc. For 3.6 there exists a minimal release done by Boris Gaertner.
Those interested in tiny Squeak images would perhaps like to check out Craig Latta's work at http://www.netjam.org/squat. This is a tiny version of squeak, which could potentially become the official Minimal image.
Contributed minimal versions of Squeak
Found on the Squeak mailing list by Pavel Krivanek:
I have prepared an experimental kernel image based on Squeak 3.7.
- size: 1.3 MB
- no Morphic
- no MVC
- no Sound
- no Network
- no Browser, Debugger etc.
- no SUnit
- no Projects support (thereís only one default project)
- only necessary processes
- no ObsoleteClasses (consistent references in sources)
- single font
- simple console with clipboard support
- transcript output (with file log)
- transparent creation mechanism
- image with changes: ftp://comtalk.eu/pub/bootstrap/kernel.zip
- bootstrapping environment: ftp://comtalk.eu/pub/bootstrap/Bootstrap.zip
- please, can somebody place it to a new location with better connectivity?
How to prepare it:
- use QuiteSmall image (http://www.swerlingphoto.com/squeak/QuiteSmall-3.7.zip)
- load Mirrors.1.cs
- load Bootstrap.st
- evaluate "Bootstrap start"
- in console type "Bootstrap revert"
- wait a while
- condense changes, clear transcript, save image
How it works:
- for all classes in system "mirrors" are created. Mirrors are classes with prefix "Xxx" that contain only class definition and methods. They contain no valid references to class variables.
- mirrors are modified so they contain whole class hierarchy for new system. There are original classes used in code of methods.
- initial cleanup is executed and system processes are recreated
- for all original classes, methods of mirrors are assigned. Methods that arenít in mirrors are removed. Then the new definition of class is used.
- unnecessary original classes are removed
- mirrors are removed
- whole sources are recompiled
- additional cleanup is executed
The console is very simple. Now it cannot simulate FillInTheBlank, confirmations, user interrupt etc.