[JSR308] Annotations on statements (and expressions?)

Eugene Kuleshov eu at javatx.org
Wed Jan 31 12:11:17 EST 2007


  It is not really something specific to JML. The problem we are facing 
here is that Java (both language and JVM bytecode) does not have a 
standard way to link arbitrary metadata with the executable code.

  I do agree that using such metadata in a traditional Java apps can 
lead to quite verbose code (like this JML example), however we can't 
underestimate the Java language adoption and unbeatable tooling support 
for the Java language. So, even domain-specific languages could provide 
a more compact representation, it will be harder to use them comparing 
to the plain Java. I think it is important for the researchers as well 
as for the industry adoption.
  We also need to unify metadata at the bytecode level, so non-Java code 
would be able to deal with interchangeable data structures.


Tom Ball wrote:
> I don't understand why a language like JML needs support from Java. 
> There's no need to turn Java into an intermediate language, as JVM 
> class files (should) already address that need.  The JVM and Java core 
> classes make a great platform for researching new languages, and with 
> the open-source release of javac it is now even easier to create 
> them.  If the JVM spec needs to be improved to support better 
> specification then either this JSR should focus on that issue, or a 
> new JSR should be created.
> Tom

More information about the JSR308 mailing list