Steps to Modularity - Projects and History [long]

Hans-Martin Mosner hmm at heeg.de
Fri Mar 19 12:23:30 UTC 1999


Dan Ingalls wrote:
....
> Changes to global variables will have to be controlled.  Remember how LISP could undo SETQ, but not RPLACA?  Similarly in Squeak, direct assignments cannot be easily traced, but indirect access can be intercepted and recorded.

Look at the way VisualWorks deals with static variables (globals, class
vars, pool vars). Assigning to a static variable is actually done with a
message send (although there are special bytecodes for static
assignment, they get translated into message sends). This gives the
opportunity to have all writes to static variables recorded, or to do do
anything else (including not modifying the variable) when some code
assigns to it.

Hans-Martin





More information about the Squeak-dev mailing list