Isaac Schlueter wrote:
I'd suggest dropping theIdentifier_opt ( FormalParameterList_opt ) [no LineTerminator here] IniitialValue production. Wouldn't that mean that you could have something like this? var allA = list.map(() "a") I think the curly braces are ok here. Hated keywords should be attacked one at a time, imo.
Divide-and-conquer in language design can go down many bad paths. One is that if we attack 'return' naively, we make a completion-value leak hazard (discussed many times on this list).
Block-lambda revival uses a different-looking syntactic special form to call out the places where TCP holds and return means the same in the body as in the enclosing function.
For what we're discussing here, no such TCP should be contemplated (you'll be relieved to hear :-P). That means we can't just say "curly braces and impute the return value from the completion value", though -- not without facing the dilemma of unintended completion value leaks. There's no a-priori solution to this dilemma.
Thus my interest in a low-precedence expression-bodied alternative syntax for short functions.
/be _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

