On 29-Jun-08, at 5:31 AM, Ralph Johnson wrote:
In face, it would be possible to reuse the existing compiler to build up a standard structure of classes in the image, but to put them all in their own namespace. Thus, an Object class defined in the test file would not be the same as the Object class used in the compiler. Thus, a system that bootstraps images from text files could first read the text file and produce a set of classes in the image, and then write out an image that contains only those classes.
Pavel Krivanek's KernelImage does the second part, but not the first. It creates a parallel class hierarchy by copying part of the existing classes, then it writes out an image that contains only those classes.
Alejandro Reimondo's Fenix stuff read (through some extraordinarily 'creative' and Windows dependant code) source snippets from files and built a parallel object hierarchy and then wrote an image out via a modified tracer. It's a very simple idea but rather less simple to implement correctly. It is however certainly doable.
In principle one could certainly keep a tree of SVN like form, read in the code whilst traversing the tree, create objects to suit and then trace only those objects to create an 'image created from source'.
And you know what? If we put together a system to do that, there would still be objectors; there will always be objectors.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Base 8 is just like base 10, if you are missing two fingers.