MVEL 1.2 Final Released

Home

News: MVEL 1.2 Final Released

  1. MVEL 1.2 Final Released (16 messages)

    After lots of hard work, we are pleased to announce MVEL 1.2 final. We’ve been very pleased by all the positive feedback from our early adopters and beta testers. This newly released version includes a plethora of features over the last official release including: * Improved, low impact, low overhead runtime to reduce need for caching. * Improved type conversion API * Inline, transparent JIT (Just-in-Time) Bytecode compiler * New, super fast, reflection-based optimizer for systems where code generation is a memory concern. * New, improved, non-compiling interpreter for maximum execution efficiency without pre-compile or caching. * Improved syntax including, WITH block operator, FOREACH operator. * Line debugger API (Implemented in the JBoss Rules IDE) * Optional static typing, with optional strict mode, type verifier and analyzer. * Type inferencing * Type casting * Python-style class and function referencing * Static method importing * Language Capability Level API for disabling aspects of MVEL that are undesirable in certain integration scenarios. * Many compiler code optimizations, such as safe type detection to remove dynamic typing runtime callbacks, etc. ... And all for less than 500kb :) We think we’ve succeeded at creating what is quite simply, the best lightweight expression language for Java, covering the broadest cross section of integration concerns. Not only is MVEL small and nimble, but its syntax is easy-to-read and much more java-like than EL or OGNL. Static methods and fields are referenced the same way they are in Java, assignments are just like java, including the syntax for static typing. Check it out and download it at: http://mvel.codehaus.org

    Threaded Messages (16)

  2. Drools and MVEL[ Go to top ]

    We've fully integrated MVEL into Drools as one of our two currently available dialects. We also use MVEL to do all our code generation for the Java dialect. I did a blog a few months back on "Why MVEL": http://blog.athico.com/2007/05/why-mvel-scipting-language-for-jboss.html You can see what mvel templates look like here: http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/ You can see the Eclipse IDE debugging a rule file with both a Java and MVEL dialects. http://labs.jboss.com/file-access/default/members/drools/images/helloworddebug.png We've worked with Mike to ensure that MVEL has great integration points for the host environment, and provides adequate performance in reflection mode. Without a doubt the fastest reflection based scripting language out there, and only adds about 20% overhead to the Drools environment. Flat JIT, currently it's spot JIT, will allow Java like performance in MVEL 2.0. One of the things that really makes MVEL stand out though is it's type safety mode with full type inference, so you get the benefits of a non-verbose language with tape safety. Mark http://blog.athico.com
  3. Re: Drools and MVEL[ Go to top ]

    Other nice features of MVEL are Macro and Interceptors. These allow you to create customised extensions, we use these in Drools to have a special 'modify' keyword that uses a Macro to replace 'modify' with an Interceptor and the 'with' keyword, 'modify' becomes '@Modify with'. We then use the interceptors to execute some before and after code on the 'with' statement. See links for more details: http://mvel.codehaus.org/Macros http://mvel.codehaus.org/Interceptors Mark http://blog.athico.com
  4. Re: MVEL 1.2 Final Released[ Go to top ]

    IIRC you mentioned that it would be placed in the Maven repository around the time of the 1.2 release. Is this still on your roadmap? Thanks, Tim
  5. Re: MVEL 1.2 Final Released[ Go to top ]

    Tim, we'll get the Maven artifacts out to ibiblio next week.
  6. This is wonderful...[ Go to top ]

    But, what is it? For someone (like, say, me) who doesn't know what MVEL is, I read this post and...I still don't know what it is. I shouldn't have to surf the clicks to at least get a grasp of what the project does. Even a one or two line summary would be nice. Doesn't need to be a thesis. "MVEL 1.2 has been released. MVEL is an embededded expert system designed to make fruit smoothies more efficiently. Our new release includes..."
  7. Re: This is wonderful...[ Go to top ]

    But, what is it?

    For someone (like, say, me) who doesn't know what MVEL is, I read this post and...
    It's a scripting language that can execute in three modes: interpreted, compiled reflection and spot JIT (bytecode). It allows for optional type safety, using type inference for reduced verbosity. It supports Macros and Interceptors and also has a good templating capabilities. Primitives, Primitive Object Wrappers and BigInteger and BigDecimal can all be used in the same seamless way in mathemetical expressions. The syntax supports for inline maps and lists and arrays and lists can be used in the same seamless manner. It's syntax is minimal and uses the graph accessor notation as used in languages like Groovy or javascript. All for about 400kb (including an inlined ASM) MVEL is not trying to compete against Groovy or JRuby, or claiming to be more powerful. Its focus is on an embedded scripting and easy of integration and doesn't try to be a platform. As mentioned in a previous post it's other differentiator with those platforms is it can also operate in 100% reflection execution, which is often necessary for embedded environments, and provides optional full type safety via inference. Mark http://blog.athico.com
  8. Re: This is wonderful...[ Go to top ]

    But, what is it?

    For someone (like, say, me) who doesn't know what MVEL is, I read this post and...I still don't know what it is.
    It's an expression language, like the EL and OGNL. But you do have a great point, and it also applies to way too many other articles in here. Editors should take note of this.
  9. Re: This is wonderful...[ Go to top ]

    But, what is it?

    For someone (like, say, me) who doesn't know what MVEL is, I read this post and...I still don't know what it is.
    It's an expression language, like the EL and OGNL.

    But you do have a great point, and it also applies to way too many other articles in here.

    Editors should take note of this.
    Editors *do* take note of this. That said, we're not perfect. It'd be nice if people realised that, when they write stuff for TSS, they're writing for a wide audience, and gave the editors just a little bit o' help. That said, though, I do need to write up some better guidelines on writing for TSS...
  10. Re: This is wonderful...[ Go to top ]

    Editors *do* take note of this. That said, we're not perfect.
    Joseph, I think you are doing a great job overall. I didn't mean that _you_ would need to do the editing. By "taking note" i meant more along the lines of raising bar for news item content and rejecting / sending back for fixes the news items that cannot be comprehended by average Java EE developer.
    That said, though, I do need to write up some better guidelines on writing for TSS...
    Just a personal opinion of course, but i'd also prefer more emphasis on 'benefits' of the framework/product, rather than just 'features'. /Henri Karapuu
  11. Re: This is wonderful...[ Go to top ]

    You should add tagging to your content news. Under the title, display all of the tags and then allow people to click on those tags to explore related content.
  12. Re: MVEL 1.2 Final Released[ Go to top ]

    Congrats! It's a commendable accomplishment. Ashwin (http://www.StreamCruncher.com).
  13. Use in Servlets/JSP[ Go to top ]

    Any documentation on using MVEL as a templating engine in a web app, similar to Velocity? Or is that not a suitable use for MVEL?
  14. Re: Use in Servlets/JSP[ Go to top ]

    It is in fact possible, and I'm aware of some people who have done it. There is a method in the TemplateInterpreter class called parseToStream() that can take a file as a parameter, and an OutputStream. This can be used to wire-up serving MVEL templates through a Servlet.
  15. Re: Use in Servlets/JSP[ Go to top ]

    Some basic docs have been done: http://mvel.codehaus.org/Templating+Guide Mark http://blog.athico.com (The Drools Blog)
  16. Re: MVEL 1.2 Final Released[ Go to top ]

    This is awesome! good stuff--MVEL is the best expression lang. Now hopefully you can do the same thing with your docs =P Dhanji.
  17. buggy?[ Go to top ]

    x.abc = 1 doesn't work