-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CS2 Discussion: Features: Experimental flag? #4933
Comments
From @jashkenas on 2016-09-20 15:20 This is kind of similar to the |
From @GeoffreyBooth on 2016-09-20 17:18 The only issue I see with a branch is then do we have Or maybe we should just accept |
From @mrmowgli on 2016-09-23 05:23 Where is Node in terms of implementation? Babel? I imagine only very closed environments would want async natively in the browser if you still have to enable flags for it. However I can see this being used the moment it is released in Node code bases. If current versions of node are supporting it, or babel then I would want this in the 1.x experimental code base. I have iced coffee in use in a few places because it really is a useful feature, and one that is much simpler to get than promises. I suspect if the docs are clear about what edge cases aren't covered or work arounds for them, it would be fine to enable them as experimental. |
From @GeoffreyBooth on 2016-09-23 05:45 Node doesn’t support We’ve been discussing this in #3757. I think the consensus is that it shouldn’t go in 1.x because |
From @mrmowgli on 2016-09-23 05:54 So push this into the 2.0 branch under the experimental flag? |
From @GeoffreyBooth on 2016-09-23 05:57 Just the |
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 likeawait
in there? The docs would define experimental features as subject to breaking changes or removal at any time, like in Chrome. If and whenawait
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.The text was updated successfully, but these errors were encountered: