I would say Groovy Closure with the Java syntax. Rémi
On October 18, 2016 8:21:34 PM GMT+02:00, Guillaume Laforge <glafo...@gmail.com> wrote: >Is it actually Groovy closures? or "real" Java lambdas? > >On Tue, Oct 18, 2016 at 7:42 PM, Jochen Theodorou <blackd...@gmx.org> >wrote: > >> >> hah, I knew you can do it ;) >> >> On 18.10.2016 18:34, daniel_sun wrote: >> >>> Jochen, lambda expression is fully supported now :) >>> >>> https://github.com/danielsun1106/groovy-parser/commit/c380e4 >>> 230ecef350855b9f56a220411635a7ff87 >>> >>> https://github.com/danielsun1106/groovy-parser/blob/master/ >>> src/test/resources/core/Lambda_01x.groovy >>> >>> >>> Cheers, >>> Daniel.Sun >>> >>> >>> >>> 在 "Jochen Theodorou [via Groovy]" <ml-node+[hidden email] >>> </user/SendEmail.jtp?type=node&node=5736176&i=0>>,2016年10月18日 00:37 >>> >>> 写道: >>> >>> >>> >>> On 17.10.2016 17:40, daniel_sun wrote: >>> > Hi all, >>> > >>> > Lambda expression for Groovy has been completed with a >>> little >>> > limitation, which is due to the existing closure whose >parameter >>> list can be >>> > ambiguous to lambda expression, e.g. {a -> a} which can be >parsed >>> as a >>> > lambda expression in a block, but we expect it a closure. >>> >>> I think that limitation is ok >>> >>> > In order to >>> > resolve the ambiguities, the parentheses for parameters is a >>> must, e.g. >>> > *Java8* allows parentheses-less parameter for lambda when the >>> parameter is >>> > single and without type: e -> e, but *Groovy* only allows >>> parameter with >>> > parentheses: (e) -> e. >>> > >>> > *Here are some examples for lambda expression for >Groovy:* >>> > assert 9 == [1, 2, 3].stream().map((e) -> e + 1).reduce(0, >(r, e) >>> -> r + e) >>> >>> which means you cannot write >>> > assert 9 == [1, 2, 3].stream().map(e -> e + 1).reduce(0, (r, >e) >>> -> r + e) >>> >>> which I find not so ok. Here again it would be no problem if it >is >>> recognized as Closure if that is more easy to accomplish. >>> >>> bye Jochen >>> >>> >>> ------------------------------------------------------------ >>> ------------ >>> If you reply to this email, your message will be added to the >>> discussion below: >>> http://groovy.329449.n5.nabble.com/Lambda-expression-for- >>> Groovy-3-tp5736169p5736171.html >>> >>> To unsubscribe from Lambda expression for Groovy 3, click here. >>> NAML >>> <http://groovy.329449.n5.nabble.com/template/NamlServlet. >>> jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail. >>> >naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template. >>> NabbleNamespace-nabble.view.web.template.NodeNamespace& >>> breadcrumbs=notify_subscribers%21nabble%3Aemail. >>> naml-instant_emails%21nabble%3Aemail.naml-send_instant_ >>> email%21nabble%3Aemail.naml> >>> >>> >>> >>> >------------------------------------------------------------------------ >>> View this message in context: Re: Lambda expression for Groovy 3 >>> <http://groovy.329449.n5.nabble.com/Lambda-expression-for- >>> Groovy-3-tp5736169p5736176.html> >>> Sent from the Groovy Dev mailing list archive >>> <http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html> at >>> Nabble.com. >>> >> >> > > >-- >Guillaume Laforge >Apache Groovy committer & PMC Vice-President >Developer Advocate @ Google Cloud Platform > >Blog: http://glaforge.appspot.com/ >Social: @glaforge <http://twitter.com/glaforge> / Google+ ><https://plus.google.com/u/0/114130972232398734985/posts> -- Sent from my Android device with K-9 Mail. Please excuse my brevity.