Treating JavaScript as a back-end for a compiler is becoming more and more popular. Here are some examples of compilers that already target JavaScript: Squeak Smalltalk Scheme NarrativeJS Links OpenLaszlo Lisp Java Java Java Cross-browser JavaScript C# Ruby This has come up in some of the ECMA-TG1 discussions, and I think some of Edition 4 will help compiler writers, in particular proper tail call