Monday, June 13, 2005
Mustang b39.
Just noticed over here that Mustang is going to get a compiler API and a script engine one. While the latter (including bundling Rhino) is pretty cool and is great news for Groovy and Beanshell too, there's a little gem hidden in the former description.
I wonder how similar the scripting host will be to the (defacto standard) BSF?
Another cool addition is (for those on Solaris 10) dtrace probe hooks. One of my first questions to the sun guys when seeing a dtrace demo, was "does it understand Java?". It's a great tool, but the JVM is a big and complicated beast, and the last thing you'd want is to have to search for C++ locations that give you information on GC / Java threads / security checks etc. Nice.
Just noticed over here that Mustang is going to get a compiler API and a script engine one. While the latter (including bundling Rhino) is pretty cool and is great news for Groovy and Beanshell too, there's a little gem hidden in the former description.
So hopefully a standardised AST / parser for Java code will help innovative build and testing tools. While it's not hard to get hold of a Java grammar, getting one that deals with every nuance and every new feature (eg generics) can be a fair bit harder. This was something we asked for way back at GroovyOne from John Rose -- maybe he helped push this one through. It does seem pointless that every language level tool should need to build their own trees.
We also plan a tree API that will complement JSR 269 by providing access to the parse trees created when Javac compiles a program.
I wonder how similar the scripting host will be to the (defacto standard) BSF?
Another cool addition is (for those on Solaris 10) dtrace probe hooks. One of my first questions to the sun guys when seeing a dtrace demo, was "does it understand Java?". It's a great tool, but the JVM is a big and complicated beast, and the last thing you'd want is to have to search for C++ locations that give you information on GC / Java threads / security checks etc. Nice.