Spoon progress 15 April 2005: inert method deletion details and next steps

Chris Muller chris at funkyobjects.org
Sun Apr 16 22:53:42 UTC 2006


> 	After that I plan to:
> 
> -	make a module which installs every last bit of 3.8 final, just to
> show
> that one can recreate familiar old systems
> 
> -	make modules which install the VM construction tools
> 
> -	make a VM from a Spoon system with those modules in it
> 
> -	throw away the VMs and object memories that I started with!
> 
> -	make modules for other things I want to use (Quoth, Chronos,
> Weather
> on Display, Tweak, etc. etc.)

Craig, it sounds like you will have a 3.8 compatible system that can
"breath" code in and out; methods can be GC'd or dynamically
re-installed on demand.  I think this "upgrade path" could really help
Spoon become the basis for future Squeaks.  Bravo!

Can one master image serve multiple target images?  Magma test cases
run in four images; client1, client2, server and test-conductor.  Let's
say I wanted to have all four of these start out "gutted".  I woould
kick off the test suite in the conductor image which would require it
and the other three to dynamically download only the needed code from
the master Spoon image.

At the end of the cases, the conductor image would have all of the test
code, the two cliens would have most of hte client code, the server
should only have the server code.  Does it preserve the package
semantics (i.e., class categories) when it brings methods so I can save
new streamlined Monticello packages?

Does Naiad use class categories in its packaging scheme or something
different?

Is there a way to know if any methods were installed *recently*?  I
could imagine someone deploying a gutted target image to "production"
and leave the master image connected for the first couple of months. 
There might be some "nervousness" to disconnect the master image unless
assured no methods had faulted in the last month under heavy usage..

 - Chris



More information about the Squeak-dev mailing list