the Da Vinci Machine Projecta multi-languagerenaissancefor the Java Virtual Machinearchitecture | ![]() |
We are extending the JVM with first-class architecturalsupport for languages other than Java, especially dynamiclanguages. This project will prototype a number of extensions tothe JVM, so that it can run non-Java languages efficiently, with aperformance level comparable to that of Java itself.
Our emphasis is on completing the existing bytecode andexecution architecture with general purpose extensions, as opposedto a new feature for just one language, or adjoining an unrelatednew execution model.
We want the new languages to co-exist gracefully with Java inthe JVM, and to benefit (like Java) from its powerful and maturetechnologies.
We are looking to remove “pain points” alreadyobserved by implementors of successful or influential languages, asopposed to attempting more speculative work on unproven features orniche languages.
Sub-projects with major activity includedynamic invocation,continuations,tail-calls, andinterface injection. There is alarge number ofmore speculative, lower-priority sub-projects. These are includedin hopes that someone in the community will become excited with usat the prospects of a more dynamic JVM, to the point of sharing inits creation.