Method calls vs lambda calls

Mark Mahieu markmahieu at googlemail.com
Mon Dec 14 23:19:19 PST 2009


Same here, not least because I think there's value in encouraging a certain distinction in programmers' minds between methods and functions.

Many of the earlier conversations about closures became unnecessarily confused because, I believe, people were immediately translating them in their minds into anonymous classes and methods, leading to a mental mismatch of semantics around aspects like scope.

	Mark

On 15 Dec 2009, at 07:04, Joshua Bloch wrote:

> I think that perhaps some explicit syntax should be required when invoking a
> function object.  That would prevent this sort of confusion.
> 
>         Josh
> 
> On Mon, Dec 14, 2009 at 12:51 PM, Stefan Schulz <schulz at the-loom.de> wrote:
> 
>> You're right, of course.
>> Same as with instance and local variables.
>> 
>> Am 14.12.2009 21:37, schrieb Neal Gafter:
>>> I'd expect the latter to shadow the former (it is in a nested scope, not
>>> the same scope).
>>> 
>>> On Mon, Dec 14, 2009 at 12:36 PM, Stefan Schulz <schulz at the-loom.de
>>> <mailto:schulz at the-loom.de>> wrote:
>>> 
>>>    Am 14.12.2009 21:07, schrieb Alex Blewitt:
>>>> public class Example {
>>>>    public int fortyTwo() {
>>>>      return 6*9;
>>>>    }
>>>>    public void run() {
>>>>      System.out.println(fortyTwo())
>>>>      #int() fortyTwo = #int() { return 42; }
>>>>      System.out.println(fortyTwo())
>>>>    }
>>>> }
>>>> 
>>>> What's the result on the output here?
>>> 
>>>    I'd suspect a compile error due to defining two "methods" having the
>>>    same signature in the same scope.
>>> 
>>> 
>> 
>> 
> 



More information about the lambda-dev mailing list