MVEL 2.0 final has been released. MVEL is a powerful expression language for Java-based applications. The next version of MVEL greatly improves over the previous by adding a wide variety of new scripting abilities, performance improvements and new static type checking facilities.
Heavy emphasis has been placed on reducing overhead of the parser and the runtime in this version. For some benchmarks on how MVEL performs see here: http://mvel.codehaus.org/Performance+of+MVEL+2.0
New features include:
- New Dynamic JIT optimizer which only selectively generates bytecode when load exceeds a threshold that justifies code generation. This greatly reduces memory usage, and allows expressions that get heavy use to benefit from code generation, while allowing other lesser used expressions to simply rely on reflection where there would be little benefit to optimize further.
- The new static type checking and generics support allows for the integration of type-safe expression (on both ingress and egress).
- Significantly improved error reporting, with finer-grained error messages, including line and column information
- New Scripting Language Features. MVEL 2.0 introduces function definition with closures, lambda definition, standard looping (for, while, do-while, do-until, etc.) constructs, null-safe navigation operator, inline with-context operator, variable existence (isdef) test operator, and more.
- Improved Integration. By popular demand, MVEL 2.0 now supports type-based custom property resolvers, with support to hook into the JIT.
- New, Faster Template Engine with support for inline template definition, macro definition and custom tag definition.
- New interactive shell (MVELSH).
More information at: http://mvel.codehaus.org/