Microsoft's Erik Meijer recently discussed IKVM.NET with creator Jeroens Frijters to discuss the history of the project and explore how it makes running Java code on .NET and Mono possible.
Scala, a popular language for the Java platform, is making inroads to .NET thanks to a project run by École Polytechnique Fédérale de Lausanne and funded by Microsoft. The project heavily relies on Jeroen Frijters’ IKVM, which is a Java Virtual Machine that runs on the CLR (.NET and Mono).
The goal of IKVM is to add Java support to the Common Language Runtime in two ways. In dynamic mode Java byte code is reinterpreted as IL code at runtime. In static mode, Java source code is compiled into IL instead of Java byte code. Running in either mode, IKVM seeks to be a nearly full implementation of the Java specification.