Pressures for Substantially New Squeaks

Les Tyrrell tyrrell at
Mon Feb 15 20:54:58 UTC 1999


Regarding class references, object references, etc... this
mechanism exists in VisualWorks under the guise of the VariableBinding.
However, I would imagine that using ordinary Associations is
acceptable, to an extent.

VisualWorks compiles its methods with references to uniquely identified
VariableBindings.  As far as I know, uniqueness is the only real issue,
and this can be achieved with an Association just as easily.  The only
other requirement would be to handle whatever is needed by the compiler
or compiled method, but other than that VB's are basically Associations.

VW craftily handles undefined classes by dumping the VB into the Undeclared
pool, and whenever a new class is defined, the Undeclared pool is checked
and the actual VB is transferred to the System dictionary ( Smalltalk ).
There is no need to recompile anything as all methods, whether defined
prior to or after the definition of some class, reference the VB and not
the class, and the VB is transferred out of the Undeclared pool and into
Smalltalk.  I believe that only when a class is defined prior to it's
superclass do methods have to be recompiled, and then only in certain
cases, not all.


More information about the Squeak-dev mailing list