Little is known about the new intermediate language that Sun is working on. All I know is that Guy Steele is involved in this effort.
The story has various interesting elements: a new intermediate language for high-performance computing; A call to get IBM and Cray involved into the architecture/design of such an intermediate language, a new language (or maybe a language extension) to take advantage of these features and finally because they want to create an industry standard out of it.
This is interesting in many levels: first, it could be a departure from Java's current focus of compatibility. This policy of VM compatibility, while good for software developers, and to Sun's story of write-once, run anywhere has also lead to the stagnation of the VM specification, and the intermediate byte code language. Which is a source of criticism from people who want a performing intermediate language. Today the Java intermediate representation can not be effectively used as it is for high performance code.
But Sun has the engineering talent, the knowledge, and the team to turn their expertise in optimizing compilers into a new intermediate language that would better suite the Fortran/C/C++ developers.
I of course would love to see the ECMA CLI be the foundation for this work, but if I were in their shoes, I would probably begin by extending the Java byte codes towards supporting features from the Sun IR for their optimizing compilers, or extend the Sun IR to support object-oriented features that could support Java.
Maybe Sun is interested in going through an ECMA-like process to standardize this intermediate representation. Am looking forward to learn more about this project.
My interest in this comes from the work we have done in Mono and Mono's IR. Although we are very proud of the code generation engine we have, it is still in its infancy in terms of the optimizations we can perform. I guess I would love to learn how Mono can benefit from it, and even maybe be able to consume this IR.
Posted on 18 Jan 2004