[rules-dev] Functional programming in Drools: java 5 minimum with java 8 support

Geoffrey De Smet ge0ffrey.spam at gmail.com
Thu Oct 20 07:49:06 EDT 2011


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 at gmail.com 
> <mailto:toni.rikkola at 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 at gmail.com <mailto:mario.fusco at 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 at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
>>>         https://lists.jboss.org/mailman/listinfo/rules-dev
>>>
>>>
>>>
>>>
>>>     -- 
>>>      - CTO @ http://www.plugtree.com <http://www.plugtree.com/>
>>>      - MyJourney @ http://salaboy.wordpress.com
>>>     <http://salaboy.wordpress.com/>
>>>     - Co-Founder @ http://www.jugargentina.org
>>>     <http://www.jugargentina.org/>
>>>      - Co-Founder @ http://www.jbug.com.ar <http://www.jbug.com.ar/>
>>>
>>>      - Salatino "Salaboy" Mauricio -
>>>
>>>
>>>     _______________________________________________
>>>     rules-dev mailing list
>>>     rules-dev at lists.jboss.org  <mailto:rules-dev at lists.jboss.org>
>>>     https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>     -- 
>>     With kind regards,
>>     Geoffrey De Smet
>>     _______________________________________________
>>     rules-dev mailing list
>>     rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
>>     https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>     _______________________________________________
>     rules-dev mailing list
>     rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev

-- 
With kind regards,
Geoffrey De Smet

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20111020/c21fac55/attachment-0001.html 


More information about the rules-dev mailing list