 |
[6 * 9 = 42] whileTrue: [World run]
Stopařův průvodce jedním převážně neškodným programovacím jazykem
|
 |
|
Kernel image description by Ralph Johnson
Interesting project to modularize Squeak
December 03, 2006 21:45:12 EST
Source: http://www.cincomsmalltalk.com/userblogs/ralph/blogView
The last few weeks I've been looking at Pavel Krivanek's project to break Squeak into smaller modules. Unlike most people, who start at the top and try to carve out pieces, he is starting at the bottom. He has developed several images. KernalImage is a Squeak image without any GUI. It has collections, numbers, classes, the compiler, but little else. It has a text-based UI that can evaluate Smalltalk expressions, and it can load files from disk. Pavel has a fileIn for Monticello, so then you can load any other package, as long as it doesn't have a GUI.
His other image is called MinimalMorphic. He has a Monticello package for it, so you can load it from KernalImage. MinimalMorphic isn't particularly minimal, but it has had some stuff (like eToys) removed and I think he wants to remove more. It is a basic Morphic environment, showing that you can separate MVC from Morphic.
KernalImage is 2.8 megabytes, which is a lot smaller than the 15 megabytes of the 3.9 release.
The really cool part is that all this is generated from a model of Squeak. He has a "bootstrapping" system that has a model of Squeak in Squeak. You can start with the final 3.9 image and fileIn a model of the KernelImage. His system will figure out what needs to be deleted from the image and create a fileIn that deletes everything that shouldn't be there. Then you start with a fresh 3.9 image, fileIn his deletion script, and you get the KernelImage. You can then use Monticello to load MinimalMorphic.
I found it hard to do much with KernalImage except to load MinimalMorphic. Pavel says you can load Seaside and that there is a Seaside app that will let you browse code in the image. But the way I have looked at the classes in KernalImage is to load the bootstrap environment.
Pavel keeps his sources at http://www.comtalk.cz/Squeak/98
To get an image with the model of the KernalImage in it, unzip bootstrap-7067.zip
Then, starting with a 3.9 release of Squeak, file in
- mirrors exporting fix
- ChangesOrganizer
- wait2ms
- Bootstrap
- Bootstrap-Tools
- Mirrors
Open a "mirror browser" with MirrowBrowser open, and you can browse the KernalImage classes.
The whole system is undergoing change. But I think it represents the future of Squeak.
Odkaz na tuto stránku
- Kernel image, poslední úprava dne 19 Březen 2008 v 13:59:02 uživatelem localhost
|
|