Let's take another look at Factor. What I'm interested to find out is how the compiler is structured. Let's see if there are any documents on the blog describing it. These seem to be interesting links: http://factor-language.blogspot.com/2007/09/two-tier-compilation-comes-to-factor.html http://factor-language.blogspot.com/2008/01/compiler-overhaul.html Hmmm.. They are more about the dynamic vs. static debate. I think I've converged on that: both are nice, but static declarative modules win. Toplevels can be built on top of that. For PIC, everything is static, and redefinitions need to be reloaded, but it does allow for an 'allot-stack' like development which allows separation of kernel and application.