Tim Rowledge wrote:
Another intriuging possibility that would be great in some cases and useless in others would be to have an on-demand repository of all the class & method (come to that, any object might be useful) so that a running image could load just what it needed, when needed. We have finally got a basic run at this into the VM codebase. Demand loading would probably be great for net connected machines and suchlike, but I can also see possibilities for small machines where we would have the repository in ROM and thereby keep the RAM demand down to what is really needed.
There was a packager product for VisualWorks that did just this at least five years ago (although I never tried it) that I believe worked with ENVY (but wasn't from OTI). ("Runtime packager" from Advanced Boolean Concepts, Ltd. http://www.advbool.com/ ) Basically, the company spokesperson said IIRC it first stripped your image (of development tools and other things), and then as you were testing the image, if it needed anything (determined from walkbacks?) it supposedly loaded it back from the ENVY repository.
As I think about it now, it's not completely clear how you would know you needed a method. Say B inherits from A, and both have a method "foo". If "foo" is stripped from B by mistake, then A>>foo will get called and this is a fundamental error with unexpected side effects -- not a walkback.
Of course, if you assume you would neve strip B>>foo if anyone sends #foo, then you may be on safer ground. Then the only issue is selectors that are fabricated by the application (such as for example creating selectors with the name of XML nodes as they are read from a file).
Here is how Advanced Boolean Concepts explain it: http://www.advbool.com/RTP/brochure.html "Runtime Packager allows you to test your application in a special mode in which references to classes and methods that would have been stripped out in the runtime image are still present and the references can be detected. As stripped items are referenced, they are returned to the image automatically and your application test continues uninterrupted. When all tests are completed, you can save the list of references for next time."
-Paul Fernhout Kurtz-Fernhout Software ========================================================= Developers of custom software and educational simulations Creators of the Garden with Insight(TM) garden simulator http://www.kurtz-fernhout.com