Rob has posted 2 posts at DZone. You can read more from them at their website. View Full User Profile

'Closures for Java Project' Vote Completed!

  • submit to reddit

April 14th: The vote for sponsoring the Closures for Java Project was started April 11th by Jonathan Gibbons on the compiler-dev group today. All 7 voting members have voted Yes !

In my memory no feature has raised so much debate and fear that a feature would fundamentally change the nature of Java and maybe break it!



I asked the open JDK list: Does this mean that one of the 3 [closure] proposals has been selected and that all that's needed for a future JDK inclusion is a reference implementation ?

[quote=Neil Gafter]

This means that one language proposal will have its own openjdk project for its implementation. It doesn't imply any decision about the future of the Java language specification. Proponents of other language proposals can create openjdk projects for their work if they want.




What does the proposal look like that’s being voted on ?


Neal Michael Gafter

Implement Lambda Expressions, Function Types, and Control Abstraction

I propose to produce a feature-complete prototype of the Java bytecode compler (javac) features for the Closures specification appearing at suitable for integration into the openjdk javac compiler as part of the reference implementation of a future platform specification. The specification includes the following major features

o closure literals (sometimes called lambda expressions)

o function types

o control invocation statements

This includes support for the following component features

o restricted and unrestricted forms

o the closure conversion

o exception type parameters

o union types

o definite assignment

o the type Unreachable (to be renamed Nothing)

o loop abstractions

o access to non-final variables within a closure

The prototype shall be complete in providing support for all features of the specification, including those described above, as well as supporting "nonlocal" return, break, and continue in unrestricted contexts.




Full Version here:

Published at DZone with permission of its author, Rob Leland.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Kevin Bourrillion replied on Sat, 2008/04/12 - 11:25am

It's not clear to any casual reader what this means.  All that has happened is that Neal Gafter has proposed to contribute a prototype to openjdk.  It's not really news, exactly.

Rob Leland replied on Mon, 2008/04/14 - 10:18am

Agreed, though it will be nice to have a full featured prototype. Since it is sponsored by the compiler group it has a better chance to get a little more TLC and usage than previously.


Kevin I googled you and it appears that you are at Google and maintain the collections framework and work with Josh. Do you have any information or blogs that would point to how far along in the process they are in evaluating the different proposals ? Recently there has been more external activity visible in the area of compiler updates. I can only hope they have knocked out some of the overhead of opensourcing Java and are now beginning to move forward !

Jeroen Wenting replied on Tue, 2008/04/15 - 1:21am

So Neil has gotten one step closer to destroying the language. Congratulations to him.

peter kovac replied on Wed, 2008/04/16 - 6:56am

give me a break! there is a simple way to prevent 'destroying the language', just do not upgrade! will closures change the language? yes but the FUD about closures is just ridiculous.  did closures destroy c# for example? hardly.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.