jdk8 developer preview b17

maurizio cimadamore maurizio.cimadamore at oracle.com
Sun Dec 18 04:15:49 PST 2011


On 18-Dec-11 11:55 AM, Peter Levart wrote:
> I've just noticed there has been a jdk8 dev preview b17 release (as of dec.
> 15th) and that It contains traces of lambda/method ref. support. Is this:
>
>    http://jdk8.java.net/download.html
>
> more recent as far as lambda support is concerned than the "special" lambda
> build at:
>
>    http://jdk8.java.net/lambda/
>
> Regards, Peter
>
>
Hi Peter,
as part of the effort of moving the code from the lambda repository to 
the JDK 8 repository, we already started moving some bits. So far we 
successfully moved the parser code into the JDK 8 repository - however, 
the parser extensions are disabled in the JDK 8 repository (they are 
only enabled for internal testing purposes). In other words, it's still 
business as usual -i.e. the most recent version of the lambda compiler 
is still the one in the lambda repository, with the lambda binary 
snapshot to follow closely. Anyone interested in experimenting with 
lambda should still use lambda binary snapshot/lambda repository, as 
there is no way to get lambda code compiled with the JDK 8 compiler.

The integration process will continue in backgorund as bits in the 
lambda repository will become relatively stable and mature. Next 
integration steps are:

*) Attribution:
- Add functional interface utilities methods to c.s.t.j.Types.java
- Add attribution support for lambda expression
- Add attribution support for method references
- Retrofit diamond/conditional expression to use target-typing
- Add inference routine for wildcards in functional descriptors
- Add support for effectively final inference

*) Code generation:
- Add abstract desugaring support for lambda expression/method reference
- Add basic translation support for lambda/method references based on 
inner classes
- Add advanced translation support for lambda/method references based on 292

Each of the above steps will involve related cleanup/refactoring 
activities in both the JDK8 compiler and the lambda repo compiler; for 
instance, in order to have an easy-to-maintain parser implementation 
with lambda/method reference support, we added some form of lookahead 
support in the JDK8 parser [1]. Such changes aims at reducing the 
difference between the bits in the lambda repository and the bits in the 
JDK 8 repo, so that a smoother integration process is possible.

[1] - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7096014

Maurizio


More information about the lambda-dev mailing list