Transparancy

Brian Goetz brian.goetz at oracle.com
Wed Jul 7 11:39:19 PDT 2010


Break and continue are allowed within the context of a loop inside a lambda. 
They are only banned at the "top level".

On 7/7/2010 2:17 PM, Pavel Minaev wrote:
> On Wed, Jul 7, 2010 at 10:52 AM, Stephen Colebourne<scolebourne at joda.org>wrote:
>
>> The latest (6 July) lambda document has big changes to the
>> "transparancy" features.
>>
>> - this is still scoped to the lambda
>> - Outer.this is used for lexical scoping
>> - return is dropped
>> - yield is added
>>
>
> The other two that are surprising are the restrictions on "break" and
> "continue" in the body of the lambda. The text is not very clear on whether
> it is a restriction only on top level of the lambda (i.e. meaning strictly
> that one can't use break/continue to leave its body), or on the entire body,
> but as "break" and "continue" are listed alongside "return", and lambda body
> is contrasted with method body, it would seem that the restriction is
> universal. This seems to be very excessive - there's no ambiguity or
> uncertainty when the loop to which break/continue belongs is itself
> contained entirely within the body of the lambda, so why ban that?
>


More information about the lambda-dev mailing list