lambda expression parameters

Zhong Yu zhong.j.yu at gmail.com
Wed Jul 17 10:42:59 PDT 2013


On Tue, Dec 18, 2012 at 4:31 PM, Brian Goetz <brian.goetz at oracle.com> wrote:
> Agreed that this is something that has the right "nudge" to it.
>
> One downside is that there is no keyword for "not final."  Which means
> this is not a question about "final by default", but "final by decree",
> unless we're willing to introduce new syntax for mutable (which we're
> not.)  That's not terrible -- most people would probably never even
> notice.  So, reasonable suggestion.

Hi, Any update on this issue, i.e. lambda parameters are final by decree?

I don't think we need the "not final" option. If the lambda body wants
a variable, it can always introduce a variable

    x->{
        int x2 = x;
        x2++;
    )

Zhong Yu


>
>
>
> On 12/18/2012 4:40 PM, Venkat Subramaniam wrote:
>> Hi
>>
>> Is there plans to make the inferred parameter of a lambda expression final by default.
>> Right now, we can't specify the parameter is final unless we provide it with the type.
>>
>> In the spirit of leaning towards immutability, which is a better practice, would it be possible to
>>
>> (a) make all inferred parameters of lambda expressions final, and
>> (b) to make it non-final, force the developers to explicitly request (like the mutable in F#).
>>
>> It's more of a wish-list, if that's something that can be considered.
>>
>> Thanks,
>>
>> Venkat
>>
>


More information about the lambda-dev mailing list