On Oct 11, 2008, at 4:02 PM, Mark S. Miller wrote: > Let's say, further, that > a lambda's parameter list is syntactically optional.
This makes for ambiguities if we do not require a braced expression, as Dave pointed out. Requiring braces always goes against the expression/statement unification thrust of the proposal. Letting (formals) be omitted only if a { follows lambda seems like too much special-casing. Most lambdas will take at least one parameter, judging from existing languages and use of functions in JS. It is not obviously worth the complexity in avoiding ambiguity just to cater to the zero-formals case. I say it's not, since if () is two chars too many, then -bda is still three too many (lam- ties let). The let block/expression idea, however it shakes out, should be viewed as sugar for (lambda (bindings) body)(...). There the savings is at least (bda)() or seven chars, four of them noisy and shifty (RSI- inducing, but who's counting given our C heritage :-P) punctuation. We can argue about the merits of sugar (tooth decay? longevity via reduced stress? natural sweeteners combined with complete nutrition are not associated with tooth decay -- ok, I'll stop now ;-)), but if we keep this discussion separate from lambda's syntax and semantics, then I think both lambda and any let block/expr sugar that emerges will benefit. /be _______________________________________________ Es-discuss mailing list Es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss