The minimum java version we require (currently java 5)
need not be the same as the maximum java version language features we support.

For example, drools 6 could require at least java 5 to run, but
- if source>=7 and target>=7 you can use switch(String) and other coin stuff in DRL functions
- if source>=8 and target>=8 you can use closures in DRL functions
The point is... drools-core source code itself can't use that stuff (unless it's in the extension module drools-core-jdk7).

Spring 2.0.0 did something similar IIRC: it required at least JDK 1.4, but if it detected JDK 1.5 you could use annotations too.

Note: despite all that, I still wish we move the minimum java version to 6 :)

Op 20-10-11 13:26, Wolfgang Laun schreef:
Last time Mark asked, there was a huge outcry - some people using some Java that's standing still at Java 5.
-W

On 20 October 2011 13:21, Toni Rikkola <toni.rikkola@gmail.com> wrote:
I would also like to keep it as close to Java as possible. 

There are few problems here:
* It could never go beyond Java
* We are using Java 5 and just considering Java 6, this would be a huge leap :-)

But then again if we don't use the Java way, then what will we do when Drools reaches Java 8, support both?

Toni

On Oct 20, 2011, at 11:08 AM, Geoffrey De Smet wrote:

Interesting stuff.
This is basically
  "closures" which will be available in JDK 8
  + LHS closure pattern support

1) About "closures" which will be available in JDK 8:
Since functions contain Java code, which is imperative, not declarative, I don't consider that DRL turf any more.
Our closure syntax should there should be exactly the same as Java 8.
Here's their syntax, which looks the same on first sight, but the devil is in the details (= unreleased spec):
  http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html
Either we wait for JDK 8 to be released to support closures (current release date is 2012 according to Mark R.'s "plan B" that released JDK 7 in 2011)
or we implement it just like the JDK8 with the exact same syntax (which is a LOT of work).

2) About LHS closure pattern support.
This builds on top of 1) to allow usage of closures in the LHS.
Cool stuff, I like the piping idea.

Op 19-10-11 23:12, Mauricio Salatino schreef:
Hi Mario, that document looks great.. I will take some time to read it and I will try to give some feedback. 
I was playing with cypher (from neo4j, a graph oriented DB) (total newbie on that) but looking at your in line acc functions I think that we can take some concepts from cypher and apply them in DRL. 
Cheers

On Wed, Oct 19, 2011 at 5:59 PM, Mario Fusco <mario.fusco@gmail.com> wrote:
Hi all,

as anticipated by Mark, I put down some ideas on how we could start introducing some functional programming features in the DRL.

http://community.jboss.org/wiki/FunctionalProgrammingInDrools

It's needless to say that the document has to been considered just a draft in its very first stage and any feedback or suggestion to improve or clarify it is welcome.

Mario

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev




--
 - CTO @ http://www.plugtree.com 
 - MyJourney @ http://salaboy.wordpress.com
- Co-Founder @ http://www.jugargentina.org
 - Co-Founder @ http://www.jbug.com.ar
 
 - Salatino "Salaboy" Mauricio -

_______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev

-- 
With kind regards,
Geoffrey De Smet
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev


_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev


_______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev

-- 
With kind regards,
Geoffrey De Smet