One idea we tossed around a few months ago, without any real conclusion, was to replace the curly braces with parens. Things have changed a bit since then; I'd now use a dash-greater instead of equals-greater.  I think we could consider using the parens for restricted closures (for those of you who haven't been paying attention, restricted closures
can&#39;t use return, break, or continue to a target outside the closure) and curly braces for the unrestricted form.<br><br><div style="margin-left: 40px;"><i>RestrictedLambdaExpression</i><br></div>
<div style="margin-left: 80px;">( <i>FormalParameterDecls</i><em><em><em><sub><i>opt</i></sub></em></em></em>&nbsp;<span style="font-family: courier new,monospace;"></span><b style="font-family: courier new,monospace;"></b><b><span style="font-family: courier new,monospace;">&gt;</span></b> <em><em><em><em>BlockStatements<sub><i>opt </i></sub></em></em></em></em><em><em><em><em>Expression</em></em></em></em><em><em><em><sub><i>opt</i></sub></em></em></em><em><em><em><em> </em></em></em></em>)<br>

</div>
<div style="margin-left: 40px;"><i>RestrictedFunctionType</i><br></div>
<div style="margin-left: 80px;">( <i>TypeList</i><em><em><em><sub><i>opt</i></sub></em></em></em> <span style="font-family: courier new,monospace;"></span><b style="font-family: courier new,monospace;"></b><b style="font-family: courier new,monospace;">&gt;</b> <i>Type</i> <i>ThrowsClause</i><em><em><em><sub><i>opt</i></sub></em></em></em> )<br>

</div>
<br><div style="margin-left: 40px;"><i>UnrestrictedLambdaExpression</i><br></div>
<div style="margin-left: 80px;">{ <i>FormalParameterDecls</i><em><em><em><sub><i>opt</i></sub></em></em></em>&nbsp;<span style="font-family: courier new,monospace;"></span><b style="font-family: courier new,monospace;"></b><b><span style="font-family: courier new,monospace;">&gt;</span></b> <em><em><em><em>BlockStatements<sub><i>opt </i></sub></em></em></em></em><em><em><em><em>Expression</em></em></em></em><em><em><em><sub><i>opt</i></sub></em></em></em><em><em><em><em> </em></em></em></em>}<br>

</div>
<div style="margin-left: 40px;"><i>UnrestrictedFunctionType</i><br></div>
<div style="margin-left: 80px;">{ <i>TypeList</i><em><em><em><sub><i>opt</i></sub></em></em></em> <span style="font-family: courier new,monospace;"></span><b style="font-family: courier new,monospace;"></b><b style="font-family: courier new,monospace;">&gt;</b> <i>Type</i> <i>ThrowsClause</i><em><em><em><sub><i>opt</i></sub></em></em></em> }<br>

</div>
<br>For example (this is <i>not</i> intended to be a motivational example):<br><br><div style="margin-left: 40px;"><b style="font-family: courier new,monospace;">
(int, int </b><b style="font-family: courier new,monospace;"></b><b style="font-family: courier new,monospace;">&gt; int) plus = (int x, int y </b><b style="font-family: courier new,monospace;"></b><b style="font-family: courier new,monospace;">&gt; x+y);</b><br>
<b style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">{ </span>Answer </b><b style="font-family: courier new,monospace;">&gt; void } block = { </b><b style="font-family: courier new,monospace;">Answer answer </b><b style="font-family: courier new,monospace;">&gt; System.out.println(answer); };</b></div>
<br>The parens instead
of curly braces emphasize to the reader that it is an expression closure, which is one of the principal use cases for the restricted form.<br><br>Without an active working group, I don&#39;t expect to make any major syntax changes in the prototype, but I wanted to get this out there for you to think about.<br>
<br>Regards,<br>Neal<br>