Lambda Libraries Iteration 1 Complete
mike.duigou at oracle.com
Tue May 15 15:04:48 PDT 2012
A new binary snapshot of the the prototype Lambda branch of OpenJDK 8 is available at <http://jdk8.java.net/lambda/>. Builds are available for all of the OpenJDK supported platforms. We encourage you to try out the latest lambda-enabled JVM, compiler and libraries.
The new release contains enhancements to the the JVM, compiler and libraries. Of particular note are improvements to the compiler and to the libraries. The compiler now has full support for defender method semantics as per latest Featherweight Defenders document (including super calls) and structural most-specific resolution.
On the libraries side, this new release contains the completion of our first iteration of the bulk data API for streams (Collection-shaped) and map streams (Map-shaped). Our goals in the first iteration of the API were;
- Establish the required functionality
- Prototype the parallel implementation
- Look for poor interactions with boxing
- Decide what we could live without
- Better understand attachment to collections
Definitive Non-goals for the first iteration were:
- Define the final Java APIs for lambda and parallel collections
- Provide complete parallel implementations
- Matching performance of hand-tuned fork-join parallel algorithms
- Complete handling of primitives
The current non-goals will be the focus of future iterations. The upcoming iteration will be focused on defining the APIs and getting the correct attachment to existing collections data structures.
The current lambda bulk data APIs are intended to provide a basic set of what we believe is the required functionality. Comments and suggestions on the API or implementation are certainly welcome, but the biggest contribution the user community can make at this point is to try out the libraries and language features using your favourite problems or refactor existing code to use lambda. Please report back on how well the features worked for your code and especially cases that didn't work well, where expected functionality was missing or where the implementation was cumbersome or considerably slower than the existing solutions. Share and discuss your findings with other developers and the lambda team on lambda-dev mailing list or at conferences and meetings.
More information about the lambda-dev