Reified Lambda Functions
Fredrik Öhrström
fredrik.ohrstrom at oracle.com
Thu Jan 7 08:02:29 PST 2010
Hi Howard!
I am curious, what are the primary reasons for reifying lambdas? You
mention performance... but for example if a lambda(closure) is used as
the body of a loop, the optimizing JVM will inline the iteration code
from the collection class and this will in turn inline the lambda as
well. Thus effectively types outside of the lambda will be propagated
into the lambda when the code is optimized since they will be part of
the same AST.
I think generic lambdas are quite a different beast than generic classes.
//Fredrik
Howard Lovatt skrev:
> I have posted a *more* formal proposal for reifying lambdas (as suggested by
> Neal Gafter):
>
> http://www.artima.com/weblogs/viewpost.jsp?thread=278567
>
> This could be read in conjunction with the original informal proposal:
>
> http://www.artima.com/weblogs/viewpost.jsp?thread=277879
>
> Which is an easier read :)
>
> -- Howard.
>
> 2010/1/3 Neal Gafter <neal at gafter.com>
>
>
>> On Sun, Jan 3, 2010 at 3:04 PM, Howard Lovatt <howard.lovatt at iee.org>wrote:
>>
>>
>>> I have updated the post to cover your example; thanks it is another
>>> difficult case that needs to be addressed. The updated blog is at
>>>
>>> http://www.artima.com/forums/flat.jsp?forum=106&thread=277879&start=0&msRange=15
>>> .
>>> I have included a list example like the one you gave. For comparing
>>> lambda's
>>> you need to use equals not ==.
>>>
>>> Keep the difficult cases coming there may be more subtile bugs in the
>>> proposal that these examples will tease out.
>>>
>>>
>> It isn't clear how to generalize your particular examples into rules for
>> handling all examples. While the examples are helpful, they don't really
>> provide much confidence in the concepts without those underlying rules. Can
>> you please try to formulate your proposal into a set of more generic rules
>> for handling all cases? Trying to formalize the rules would also help us
>> (and you) to understand if and where rules might be missing.
>>
>>
>> ______________________________________________________________________
>> This email has been scanned by the MessageLabs Email Security System.
>> For more information please visit http://www.messagelabs.com/email
>> ______________________________________________________________________
>>
>>
>
>
>
>
More information about the lambda-dev
mailing list