{"action":"created","issue":{"url":"https://api.github.com/repos/jashkenas/coffeescript/issues/4978","repository_url":"https://api.github.com/repos/jashkenas/coffeescript","labels_url":"https://api.github.com/repos/jashkenas/coffeescript/issues/4978/labels{/name}","comments_url":"https://api.github.com/repos/jashkenas/coffeescript/issues/4978/comments","events_url":"https://api.github.com/repos/jashkenas/coffeescript/issues/4978/events","html_url":"https://github.com/jashkenas/coffeescript/issues/4978","id":298253075,"number":4978,"title":"CS2 Discussion: Features: Spread syntax triple dots on either right or left","user":{"login":"coffeescriptbot","id":36576729,"avatar_url":"https://avatars1.githubusercontent.com/u/36576729?v=4","gravatar_id":"","url":"https://api.github.com/users/coffeescriptbot","html_url":"https://github.com/coffeescriptbot","followers_url":"https://api.github.com/users/coffeescriptbot/followers","following_url":"https://api.github.com/users/coffeescriptbot/following{/other_user}","gists_url":"https://api.github.com/users/coffeescriptbot/gists{/gist_id}","starred_url":"https://api.github.com/users/coffeescriptbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coffeescriptbot/subscriptions","organizations_url":"https://api.github.com/users/coffeescriptbot/orgs","repos_url":"https://api.github.com/users/coffeescriptbot/repos","events_url":"https://api.github.com/users/coffeescriptbot/events{/privacy}","received_events_url":"https://api.github.com/users/coffeescriptbot/received_events","type":"User","site_admin":false},"labels":[{"id":841194363,"url":"https://api.github.com/repos/jashkenas/coffeescript/labels/new%20feature","name":"new feature","color":"ededed","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2018-02-19T12:08:13Z","updated_at":"2018-02-19T12:08:42Z","closed_at":"2018-02-19T12:08:14Z","author_association":"COLLABORATOR","body":"_From @GeoffreyBooth on [2017-05-30 03:10](https://github.com/coffeescript6/discuss/issues/85)_\n\n\nCoffeeScript’s spread syntax was adopted into ES2015, but they flipped the position of the dots from the right to the left:\r\n\r\n```coffee\r\nfoo args... # foo(...args);\r\n```\r\n\r\nWe can’t flip them to the left in CoffeeScript without needlessly breaking lots of legacy code, but what about allowing the dots on either side?\r\n\r\n```coffee\r\nfoo args... # foo(...args);\r\n# or\r\nfoo ...args # foo(...args);\r\n```"},"comment":{"url":"https://api.github.com/repos/jashkenas/coffeescript/issues/comments/366672804","html_url":"https://github.com/jashkenas/coffeescript/issues/4978#issuecomment-366672804","issue_url":"https://api.github.com/repos/jashkenas/coffeescript/issues/4978","id":366672804,"user":{"login":"coffeescriptbot","id":36576729,"avatar_url":"https://avatars1.githubusercontent.com/u/36576729?v=4","gravatar_id":"","url":"https://api.github.com/users/coffeescriptbot","html_url":"https://github.com/coffeescriptbot","followers_url":"https://api.github.com/users/coffeescriptbot/followers","following_url":"https://api.github.com/users/coffeescriptbot/following{/other_user}","gists_url":"https://api.github.com/users/coffeescriptbot/gists{/gist_id}","starred_url":"https://api.github.com/users/coffeescriptbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coffeescriptbot/subscriptions","organizations_url":"https://api.github.com/users/coffeescriptbot/orgs","repos_url":"https://api.github.com/users/coffeescriptbot/repos","events_url":"https://api.github.com/users/coffeescriptbot/events{/privacy}","received_events_url":"https://api.github.com/users/coffeescriptbot/received_events","type":"User","site_admin":false},"created_at":"2018-02-19T12:08:41Z","updated_at":"2018-02-19T12:08:41Z","author_association":"COLLABORATOR","body":"_From @GeoffreyBooth on [2017-06-05 17:25](https://github.com/coffeescript6/discuss/issues/85#issuecomment-306250254)_\n\n\nWe would piss off a lot of people (for very little gain) by removing the dots on the right. So for 2.0.0 we need to at least keep those, if not allow both.\r\n\r\nFor 3.0.0 we should discuss a cleaning up of the language, refactoring the dots and things like `for…of` and maybe even the implicit return and/or `let`/`const`/block scope. But I think we need at least one major release that pulls all the legacy projects up to the modern ES world, before we introduce a truly breaking-change release that is a rethink of the language (and either isn’t intended for upgrades from 2, or will require an upgrade tool and major refactoring). The discussion would have to include whether the gains from such a refactor are even worth it, considering the schism it would create with projects that never upgrade. That’s a much bigger discussion, that I’d like to delay until after we get 2.0.0 out the door if people don’t mind 😄"}}
{"actor":{"display_login":"coffeescriptbot"}}