InfoQ

News

Consensus Reached on Closure Proposals

Posted by Rob Thornton on Apr 30, 2007 10:00 AM

Community
Java
Topics
Programming ,
JCP Standards
Tags
Closures

Neal Gafter has announced a consensus proposal for closures in Java. All but one of the authors of the three biggest closure proposals (BGGA, FCM, CICE) has signed on as supporting the JSR.

Gafter writes that he has stopped his work on a prototype of closures to work on this JSR. He hopes for some good discussion at JavaOne about next steps, and re-iterates that the spec is a work in progress:

The purpose of the JSR proposal is to define the problems to be solved and circumscribe the permitted solution space. It doesn't mandate a particular solution, though it does offer the Closures for Java specification as an example of a solution to many (but not all) of the problems. This should not be surprising, as that spec was written specifically in an attempt to satisfy the requirements. Still, the spec is a work in progress.

The Editor's blog at Java.net points out that while this conensus moves us closer to having closures in Java, agreement on if we need or want closures is still up in the air.

So, according to Gafter, an agreement has been reached on what the problem is and what a closures JSR will try to address. The next question for the group to consider will be the specific form of their proposal. Assuming that is resolved and then brought to the community in the form of a draft JSR, it will be up to the JCP Executive Committee (and, really, to the community as a whole) to answer the first question: do we really even want this at all?

While this approach might seem to be out of order, the editor posits that it might be in order of difficulty.

"Dynamically typed" by Stefane Fermigier Posted May 3, 2007 3:37 AM
  1. Back to top

    "Dynamically typed"

    May 3, 2007 3:37 AM by Stefane Fermigier

    The draft proposal incorrectly characterizes dynamically typed languages, like "Scheme, Ruby, and Smalltalk", as "untyped languages". S.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.