This is a bit tangential but I think blurring the line between "compile time" and "run time" is the most interesting current/coming trend in language design. There's an interesting paper by Simon Peyton-Jones, Tim Sheard and Mark Shields on how dynamic typing can be treated as a form of type inference that runs partly at compile time and partly at runtime: http://www.cartesianclosed.com/pub/dynamic_typing/index.html (in PostScript, unfortunately for most Windows users).