Unfortunatly, JVM appeared not so flexible for others langauges, as one may expect. Currently, many big projects try to use several languages for development. Unfortunatly, mostly each language currently have it's own execution environment, and deep integration of different languages in one project is, ususally, a very complex and unconvinient process. Also, it's not fully clear yet, how good will be support of languages that do not fit current specifications of .NET platform. Count yourself - most of languages needs primitive math operations on integer and float values, loading and storing values in memory and so on.
Many languages requare support for tail-recursion calls.
Actually, there isn't such a lot of implementation techniques. Languages usually differ in higher level - syntax, semantic of type definitions and so on. Next stage of development may require modification of widely used languages to support EUVM as target and use standard EUVM libraries, and being able easily integrate with others languages that use EUVM as compilation target. Those projects will, probably, be implemented as separate projects, or current project will be extended to include described tasks.