-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
From @GeoffreyBooth on 2016-09-16 19:47
Per this comment and this one, @jashkenas is opposed to adding new features to CoffeeScript until they’re not just an approved spec, but implemented in a few runtimes. His logic is that however “final” specs seem to be, the proof is really in the implementation; and we shouldn’t get ahead of ourselves supporting something that may change when browser or Node support for that feature finally ships. This makes supporting a feature like await problematic. Its spec isn’t finalized, and it’s currently implemented only in Edge and in Chrome behind a flag.
Yet it’s one of the most popular requested features. An entire fork of CoffeeScript was created, Iced CoffeeScript, to implement this one feature.
Leaving aside the specifics of await
, I wonder if there’s a way to satisfy both camps for features like this one. What if we created a flag called --experimental
, and put features like await
in there? The docs would define experimental features as subject to breaking changes or removal at any time, like in Chrome. If and when await
graduates to evergreen browser support, we can move it out of the --experimental
zone into the language proper; or if it never gets approved or widely implemented, we drop it. But this way we at least have the option of giving people these high-demand features, without committing to them.