Jarrett Billingsley:
> auto r = find!(\a -> a.Weight > 100)(range);
> [...]
> 
> something(\a, b
> {
>     stmt1;
>     stmt2;
> });

This looks better to me (but I don't know if this is the best syntax, it's just 
an idea):

// syntax for lambda that contains a single expression, implicit return (this 
is the most common case):
auto r = find!(a => a.Weight > 100)(range);

// syntax for lambda that contains one or more statements, no return, side 
effects only:
something({ a, b :: stmt1; stmt2; });

// syntax for lambda that contains one or more statements, with side effects 
and return:
something({ a, b :: stmt1; return foo(); });

Bye,
bearophile

Reply via email to