What I'd like to see is "An Approach to Incremental Compiler Construction", i.e., a compiler that outputs code which evaluates its input incrementally wrt. previous inputs.
Or how about a live programming environment that incrementally recomputes a new programming execution based on incremental changes to the program's code. Anyways, I've been working on this problem for a few years now...the first step is incremental compilation.
You're probably aware of Smalltalk already but in case you're not, I think it might be of interest to you. There's an open source implementation of Smalltalk called Pharo. They have a few screencasts and recordings of presentations at their website. http://pharo.org/documentation
Edit: Checked your profile. Going to say that yes, you almost certainly know about Smalltalk -- far more than do I.
There is a lot to be said for a language where a single edit somewhere in a program can't have snowballing effects across the entire codebase. In practice, that means deferring logic to the runtime...
I would argue this a lot with people like Gilad Bracha :), but ya. Incremental compilation is pretty trivial in Smalltalk though given the lack of a static type system.
A friend and I used this paper as part of an independent study in compilers, it was a lot of fun and I think strikes the right balance of concepts core to compiler construction. I highly recommend it.
has worked through the implementation https://github.com/namin/inc
and provided the corresponding workshop documentation in her github account. https://github.com/namin/inc/blob/master/docs/tutorial.pdf
She's also been involved in contributing to the next generation Scala compiler (Dotty).