> <i>Implementations which are written in another language and use an interpreter also have a very large difference in performance between code written in the language used for the implementation, and the language being implemented.</i><p>There's no need to write things like this in the current decade. LuaJIT has been able to provide comparable performance to the implementation language, in important cases, since 2.0.<p>It achieves this with a very different philosophy to what's being proposed here, one which in fact requires considerable assembler for each instruction set.<p>It's certainly not the only way to get the job done, other comments have pointed to the various ways Scheme has tackled this problem.<p>What isn't the case is that implementing a runtime for an interpreted language in a 'systems language' requires that code written in the interpreted language be slower than comparable code in the systems language, let alone that a "very large difference in performance" is inherent to the approach.