groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Laforge <glafo...@gmail.com>
Subject Re: Lambda expression for Groovy 3
Date Tue, 18 Oct 2016 23:46:44 GMT
Thanks for the explanations!
(and great achievement!)

On Wed, Oct 19, 2016 at 1:43 AM, daniel_sun <realbluesun@hotmail.com> wrote:

> To be exact, lambda expression of Groovy enhances the syntax of Java
> lambda expression,  e.g. lambda expression of Java is not callable.
>
> Cheers,
> Daniel.Sun
>
>
>
> 在 "Remi Forax [via Groovy]" <ml-node+[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=5736184&i=0>>,2016年10月19日
> 上午4:36写道:
>
> I would say Groovy Closure with the Java syntax.
>
> Rémi
>
> On October 18, 2016 8:21:34 PM GMT+02:00, Guillaume Laforge <[hidden
> email]> wrote:
>>
>> Is it actually Groovy closures? or "real" Java lambdas?
>>
>> On Tue, Oct 18, 2016 at 7:42 PM, Jochen Theodorou <[hidden email]> 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/
>>>> c380e4230ecef350855b9f56a220411635a7ff87
>>>>
>>>> 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.
>
> ------------------------------
> 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-
> tp5736169p5736179.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-tp5736169p5736184.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>

Mime
View raw message