Coin "reloaded" for lambda ?

Brian Goetz brian.goetz at oracle.com
Wed Jun 22 06:31:20 PDT 2011


Mark did indeed post asking for platform feature ideas.  But note that 
there's way more to the Java platform than the Java language -- so 
"language features" are only a subset of "platform features".  With 
Lambda already in the pipe, the "language features" bucket is pretty 
full already (with some of the big-ticket items Mark alluded to.)

On 6/21/2011 11:27 PM, Serge Boulay wrote:
> I thought that other languages features "both large and small" were
> being considered ? Mark Reinhold posted a blog sometime ago asking for
> proposals
> http://mail.openjdk.java.net/pipermail/discuss/2011-March/001704.html .
>
> On Tue, Jun 21, 2011 at 7:27 PM, Brian Goetz <brian.goetz at oracle.com
> <mailto:brian.goetz at oracle.com>> wrote:
>
>     The extent of the Coin contribution to Java SE 8 is not yet determined.
>       However, it is safe to assume that with big changes to the language
>     (lambdas, extension methods), platform (modularity), and libraries
>     (collections upgrades), that the Coin contribution will be smaller than
>     it was in 7.  Likely candidates include collection literals and
>     repeating annotations -- both of which were things that were desired for
>     Coin I but missed the cut.  I think it is safe to assume that Elvis and
>     Properties will not be coming in 8.
>
>     On 6/21/2011 7:17 PM, Artur Biesiadowski wrote:
>      > Hello,
>      >
>      > There was discussion some time ago about how short lambdas will
>     be with
>      > java language in real world. Some examples were given where simple
>      > concepts were being lost because of extra verbosity needed to handle
>      > equality/null safety etc.
>      >
>      > Is there any chance that next incarnation of coin project (one going
>      > together with lambdas for java 8) could incorporate some changes
>     which
>      > would actually allow writing shorted lambads in java?
>      >
>      > I'm talking about elvis operators in particular. While I
>     understand that
>      > they were rejected for 'normal' java usage, I think they could be
>     very
>      > useful in helping with shorter lambda expressions. If we could
>     get a set
>      > of collection operations which would be null aware (and skipping
>     nulls
>      > instead of trying to preserve them), we probably can treat null
>     as poor
>      > man None Option from scala.
>      >
>      > ?: is the same as getOrElse from scala.
>      > ?. would allow some of the collect/foreach/filter operations to be
>      > considerably simpler
>      >
>      > It is still not solving many of the problems - following will not
>     work
>      >
>      > list.filter(x ->  x?.getPerson()?.getAge()>  35)
>      >
>      > list.filter(x ->  x?.getState()?.isEnabled())
>      >
>      > Another missing part is safe equals method call ( x == y ||
>     (x!=null&&
>      > y!= null&&  x.equals(y) ). Can be easily emulated with static
>     import and
>      > eq(x,y), so probably it is not a killer.
>      >
>      > There might be some other possible improvements - my point is
>     that maybe
>      > some previously rejected ideas could be reevaluated from the
>     perspective
>      > of helping short lambdas.
>      >
>      > True property support would also help a lot, but this is for sure
>     out of
>      > scope for now...
>      >
>      > With best regards,
>      > Artur Biesiadowski
>      >
>
>


More information about the lambda-dev mailing list