closures after all?

Reinier Zwitserloot reinier at
Thu Nov 19 02:31:31 PST 2009

Clarifications straight from Mark Reinhold at the later BOF here at

1. His syntax is a strawman written up in de airplane. The point is:
Mark and friends have always loved closures, they just weren't sure
java should have them, as it has such a big impact on the feel of the
language. It is NOT AN ENDORSEMENT OF FCM. He was very specific about
that. He was also quite specific about keeping it simple (willing to
give up transparency et al). The point is, yes closures, no
complexity. Syntax is a teensy tiny detail of this, so don't get hung
up on that aspect.

2. For reasons unrelated to the new language features in java7, java7
will be delayed from feb to at least sept. There's time, so, the scope
of lang features for java7 has just expanded. Thus, this is NOT AN
INDICTMENT on Project Coin at all. On the contrary, Joe Darcy is here,
and he's planning on running more coins for the future. Mark Reinhold
*SPECIFICALLY* said he does not believe the JCP is a good source of
innovation, which seems like an *endorsement* of coin.

3. During the closure wars of 2007, Mark decided to let the dust
settle and play with the prototypes.

4. As java7 is delayed A LOT (due to the apache/sun tiff in the JCP),
and even the JDK7 has been delayed quite a bit (to at least sept),
java8 is of course also going to be around much later. So, Mark has
realized that now is probably the right time.

5. Of course there will be discussion with the community about how to
do it. He's also been privately talking to lots of key players in sun,
and they've all indicated they think it's time for closures, too.

6. Parallel Arrays are involved as a driving force behind the notion
that closures are needed.

7. Another feature that's back on the 'maybe' list is multicatch:
catch (IllegalAccessException | InvocationTargetException e) { ... do
stuff with e...}

Reporting from Devoxx,

 --Reinier Zwitserloot

On Thu, Nov 19, 2009 at 9:46 AM, Mark Mahieu <markmahieu at>wrote:

> *sigh*
> I suppose I should have guessed that a deliberately silly bit of code like
> this would get linked to or reproduced in edited form elsewhere (without my
> 'tongue-in-cheek' disclaimer).
> So, for the bloody record:
> 1) I have absolutely no idea whether it will ever be considered valid Java.
> 2) Even if it will be valid, I don't think it's remotely representative of
> code which will use ARM, or closures, or both.
> 3) Even if it will be valid, and someone decides to write something like
> this, I don't think it will be hard to understand what it does.
> 4) 'YOUR HEAD A SPLODE' refers to the mixing of ARM and closures, which
> some on this list may find mildly ironic.  It was not intended as serious
> commentary on the potential uses of those features, individually or in
> tandem.  If I have serious concerns to raise at some point, I probably won't
> choose to back them up by quoting an animated mexican wrestler.
> On the other hand, I was serious about it being interesting to investigate
> the interaction between the various language features.
> Sincere apologies for any confusion (!)
> Mark
> On 18 Nov 2009, at 23:49, Mark Mahieu wrote:
> > Well it'll be interesting to see the official details, and (to bring it
> back on topic) see how it interacts with Coin's language enhancements.
> >
> > // tongue in cheek
> > try (Closeable closure = #() { System.out.println("YOUR HEAD A SPLODE");
> }) {
> >       // ...
> > }
> >
> >
> > Mark

More information about the coin-dev mailing list