next up previous
Next: Research directions Up: Characterizing staticness in the Previous: Characterizing staticness in the

Digression on staticness and reflective towers

Notice the big difference, with respect to binding times, between 3-Lisp reflective towers and lookup  apply ones. Although 3-Lisp reflective processors are all the same, and known prior to execution, the actual code run at each level is not completely known until run-time because reflective procedures can effectively add code into higher-level interpreters. In order to be known at compile time, not only the code of 3-Lisp interpreters must be static (which they are, by design), but the reflective procedures that may be called within them must also be determined statically. In the lookup  apply case, there is no reflective procedure, so an interpreter is known as soon as its code is known.



Matt Hurlbut
1998-07-02