Hi all-- Phil writes:
The point is not to clean but to start with an empty object engine and fill it in with the minimum required core. Currently, the image is the result of an evolutionary process and rebuilding it from zero was not possible.
Another approach is to modify the virtual machine so that it marks methods as they are run, and modify the garbage collector to reclaim methods that haven't been run. Then you can create systems that consist of only what is necessary to run unit tests, effectively imprinting the unit tests. You can interact with the target system from completely independent one over a remote messaging network connection, so your unit tests need not include graphics support, etc.[1] This seems much simpler to me than making a virtual machine that can run multiple object memories, and distributed object memories have several other important uses too.
This makes it possible to audit the whole build process, create different base image for various purposes (very small, headless with no UI objects at all, using the object engine in a completely different way that is used today).
That makes the image the result of a fully reproducible process, from a file of zero bytes, to a file with a working image.
You can do all of these things with imprinted unit tests as well.
Also, this allows to experiment with new low level mechanisms. This is currently not possible since it makes us like performing surgery on our own brain.
With remote messaging, which has been around for many years, you can perform this surgery from afar.
Also, the Oz-inspired system will help in exploring other image memories (small or large) and manipulate them as entities. At this point, this is also not common pratice.
This has been common practice since the introduction of the virtual machine simulator in 1996. The remote facilities I mentioned all work under simulation, too. There's a lot of prior art here. -C [1] http://netjam.org/context -- Craig Latta netjam.org +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)