transparent lambda

Rémi Forax forax at
Wed Dec 30 06:40:00 PST 2009

You can also use 'return' as a suffix and the name of the function (in a 
separate scope) as prefix.

int f() {
   lambda() {
     f.return 42;


Le 30/12/2009 01:15, Mark Mahieu a écrit :
> On 29 Dec 2009, at 23:15, Neal Gafter wrote:
>> On Tue, Dec 29, 2009 at 2:57 PM, Mark Mahieu 
>> <markmahieu at <mailto:markmahieu at>> wrote:
>>     Your example suggests that I should say something like "breaks
>>     from the lambda named 'foo' returning 'bar'", but if its
>>     producing a result from the lambda then "return" is exactly the
>>     word I'd like to avoid here.
>> I would use the word "result":
>> The statement
>> *break* /Identifier* */*: */Expression// /*;*
>> terminates execution of the body of the lambda with whose label is 
>> given by the identifier, with the result value given by the expression.
>> -Neal
> Yes, "result" is a superior choice.
> However, it's the informal, succinct, conversational description of 
> what the statement does that I'm trying to pin down - the verb, 
> perhaps - which ideally should be suggested by the statement itself. 
>  That's why 'yield' is tempting; it's the verb you use in the spec.
> In conversations about BGGA, it was often tricky to tell whether 
> someone was talking about a local or nonlocal return because both 
> would often be informally described as 'returning'.
> Maybe I'm looking at this the wrong way though, and it's not so much 
> the *kind* of return/yield that should be emphasised, but *where* it 
> is returning/yielding from.  Which is certainly what this labelling 
> idea suggests.
> Mark

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the closures-dev mailing list