This wiki is just started, please help edit it.
Engendrando un Smalltalk is a paper that seems to cover the thechnique of image gestation, can someone translate it to a less popular language like English?
As long as there is nothing else available try the babelfish translator as a first indication: Spanish to English using Babelfish
Subject: Re: VW 7.3 base.im From: "Alejandro F. Reimondo" <aleReimondo@smalltalking.net>Hi Stephen,
Some time ago I was involved in the development of an ANSI Smalltalk for a propietary VM (a high perfomance VM with a high perfomance 3D engine embedded :)
When started the development of the ANSI library we didnīt have a running VM. So we start using Squeak (VM+image) and build tools for "instantiating" an image inside a running (development) image. It is a kind of gestation process where we instantiated an image from start (bigBang) and add objects to the image using the compiler on the running image... It let us build Squeak compatible images but with changes in hiearchy and structure for base classes. We did no changes for primitive numbers nor functionality, because we wanted our images to run with a normal SqueakVM.
The tools (normal browser, inspectors, senders/implementors but running on inner image) let us build images with minimal objects, and with size between 50kb(console helloworld) and 150kb (fractal image generation and display) for our tests (<200kb for our full implementation of ANSI Smalltalk). The trick to build images is not complex and portable to any smalltalk that can generate an image from smalltalk objects (image cloner).
The results was very interesting and show us that very small applications can be built using smalltalk. It also show us that: - the effort to build images by a grown process (instead of stripping) is not as high as we expected. - this kind of approach limit us to define images in a declarative way (using Smalltalk as it was a language), and as a side effect the technique is conditioned to scalability (as a consecuence of formal/pre- design) - a VM architecture is not the best solution for any image (the required primitives and most efficient GC policy can differ from one image to the other) and monolitic/fixed architecture in the VM can be a real limitation. A modular/dynamic VM architecture loaded on image demands can be an interesting topic to be explored.
If it is available an "image clonner" for VW, as it was in previous Smalltal k/80 versions, it can be posible to built the same solution without hard efforts on my part. If anyone think that this can be an interesting way to solve the problem; please contact me. I am interested in this kind of solutions with other Smalltalks than Squeak.
An 'image cloner' has been added recently to VW to support rewriting 32bit images to 64bit and back again. It does not yet support browsing or running the gestating image. See the parcel 'ImageWriter' (vw73: $(VISUALWORKS)/preview/64-bit/ImageWriter.pcl).
Image extraction in Self: