Domenic Denicola wrote:
From: Brendan Eich [[email protected]]
I proposed arrow functions and championed them into ES6. As the strawman
history shows, eliding () and {} were both supported at first:
Right, I remember `{}` being optional at least; in fact the genesis of this thread
was me working with Traceur this morning and getting complaints when I tried `()
=>`. I certainly don't blame you for making them mandatory to gain consensus!
It was hard enough to get arrow functions through.
I'm not worried about blame (*I* blame me on this :-P), but there's a
lesson here. Not everyone can swallow CoffeeScript as solid and
*long-standing* precedent. Too few even know it on TC39, but that's not
just a criticism of TC39ers -- it cuts both ways since CoffeeScript is
not old or widely studied compared to other languages. More below.
I started this thread hoping we could get some reconsideration, now that arrow
functions have been a consensus reality for so long that it's hard to imagine
ES6 without them. I find it especially baffling that there's such a negative
reaction given the time-tested nature of optional `()`/`{}` in CoffeeScript.
Optional parameter list is an easier sell since => is very unlikely to
start a statement, while => may well end one and lack of semicolon means
that the statement continues. This is the "lack of ASI where I expected
it" hazard I mentioned in reply to Oliver.
But again, "time-tested" and CoffeeScript make some of us old-timers
laugh. FTR, I like CoffeeScript and Jeremy was kind enough to let me
co-present at JSConf 2011 in Portland. However, it is young.
One company I advise tried it, and found that its "unsyntax" bit back in
this way: code that compiled and seemed to do one thing did something
quite different. This happens with JS due to ASI; it also happens just
due to the C syntax heritage. But it happens more often with
CoffeeScript, from what I hear.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss