Summary
A recently submitted Sun JCP JSR aims to add dynamic language support to Java at the virtual machine level. An invokedynamic keyword is proposed, along with hotswapping, the ability to modify the structure of Java classes at runtime.
Advertisement
JSR 292, Supporting Dynamically Typed Languages on the Java Platform, proposes to add dynamic language support to Java at the JVM level. While it's already possible to run scripting language code in the VM for which there is a Java-based language-interpreter, JSR 292 goes much further, and proposes to add dynamic language support at the JVM instruction set level. That would provide much better, and faster, support for such languages, with the possibility of making the Java VM a general-purpose dynamic language execution platform.
Here's a snippet from the proposal:
To make it easier to produce performant, high quality implementations of [dynamic] languages, we propose to add support at the virtual machine level.
Specifically, we seek to add a new JVM instruction, invokedynamic, designed to support the implementation of dynamically typed object oriented languages. We will also investigate support for hotswapping, the capability to modify the structure of classes at run time.
Gilad Blaha's initial proposal for dynamic language support is available in PDF:
Invokedynamic draft spec.