[Squeak-e] Another Nested VM Proposal
Mark S. Miller
markm at caplet.com
Tue Feb 4 16:22:52 CET 2003
you'll find a strange old unimplemented proposal for handing E
sub-expressions off to a reified evaluator while maintaining their lexical
context. This proposal is strange because it enables one to introduce
virtualization boundaries at expression granularity. This causes a
complexity for E absent from Squeak-E: An E expression not only uses
bindings introduced to its left, it also produces bindings that can be used
by expressions on its right. As I recall, there's no corresponding issue in
In any case, an actual API for introducing lexically scoped virtualization
should probably be limited to object-definition-granularity.
Also, the above proposal doesn't take account of any of the subtle
techniques that can make a big difference in the efficiency of
virtualization. It may not preclude any of them either, but I haven't
thought about it.
To build a safe and high-functionality system, one should start by building
a safe and low functionality system, and then incrementally add
functionality while preserving safety. The other way around doesn't work.
As fascinating as these issues are, I believe we should make Squeak-E safe
and coherent (to something like the level E is). Once we have that, we'll be
in a much better position to making it highly self-malleable. But during the
whole process, let's keep talking about the ambitious things we'd like to
do, so we don't paint ourselves into a corner.
Text by me above is hereby placed in the public domain
More information about the Squeak-e