Type safety for core Scala – based on Definitional Interpreters
lambda-the-ultimate.org
lambda-the-ultimate.org
They just got their compiler to self-host, see https://github.com/lampepfl/dotty and http://www.scala-lang.org/blog/2015/10/23/dotty-compiler-boo...
More generally, shifting from term rewriting to operational semantics (i.e. proving interpreters correct) seems like a big improvement. Instead of working in a completely different semantic domain, we work in one closely allied to our implementations.