[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