Wed May 7 13:26:58 CEST 2008
it might speedup compilation a bit to separate phase +1 code from the
core routines: right now, the whole scat module gets instantiated
this is back to how it was before moving all phase level 0 and 1 code
into one module for convenience. i've tagged (they print their name)
the modules that instantiate stuff so it is clear that compilation
does not spuriously instantiate any code that only makes sense at run
time, and that run-time instantiation happens only once per namespace.
so, that works pretty well: an instantiated compiler + code dictionary
is represented by a namespace. this is a "synchronous late-bound
object": it takes messages that can alter its state, and returns
values. what is missing is a way to serialize the state as object code
that can be imported again without compilation.