Monday, March 22, 2010

Drools Language and Engine Enhancement Ideas and Request for Help

Posted by
Mark Proctor

I spent this weekend getting all my ideas down for where we would like to go with Drools Expert, to future proof it and keep it relevant.

I have split this into two sections, one for language enhancements and one for engine enhancements. I've started to flesh out a lot of the language side, the engine side is still headers but should be self explanatory.Language EnhancementsEngine EnhancementsSQL Operations

As an addition I fleshed out how these enhancements can be used to provide SQL type functionality that we get asked for, such as distinct and group by aggregations.

On the language side it shows how we can move forward making Drools a hybrid language for production rules, functional programming and POSL backward chaining; along with lots of other good ideas. It certainly makes the future look exciting, and shows we've only just got started on the interesting stuff. Just to be clear the functional side of things this is not aimed at competing with scala, clojure or other functional languages, nor is this trying to be a general purpose language like groovy; it's just aimed at providing functional side effect free type operations while evaluating changes to do data; so it's focus and usage is different and still true to it's original intent and spirit.

At the moment this is just a whiteboard of ideas, no priority of order of implementation is intended. So if you have always wanted to get involved in Drools, but not sure what to do, then this is your chance :) Chose an idea, get on IRC and get involved. Also feel free to add comments on the wiki page for changes or additional ideas.IRC realtime chatWeb Forum