{"action":"opened","issue":{"url":"https://api.github.com/repos/coffeescript6/discuss/issues/25","repository_url":"https://api.github.com/repos/coffeescript6/discuss","labels_url":"https://api.github.com/repos/coffeescript6/discuss/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/coffeescript6/discuss/issues/25/comments","events_url":"https://api.github.com/repos/coffeescript6/discuss/issues/25/events","html_url":"https://github.com/coffeescript6/discuss/issues/25","id":172302307,"number":25,"title":"New Compiler Starting Point","user":{"login":"GeoffreyBooth","id":456802,"avatar_url":"https://avatars.githubusercontent.com/u/456802?v=3","gravatar_id":"","url":"https://api.github.com/users/GeoffreyBooth","html_url":"https://github.com/GeoffreyBooth","followers_url":"https://api.github.com/users/GeoffreyBooth/followers","following_url":"https://api.github.com/users/GeoffreyBooth/following{/other_user}","gists_url":"https://api.github.com/users/GeoffreyBooth/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoffreyBooth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoffreyBooth/subscriptions","organizations_url":"https://api.github.com/users/GeoffreyBooth/orgs","repos_url":"https://api.github.com/users/GeoffreyBooth/repos","events_url":"https://api.github.com/users/GeoffreyBooth/events{/privacy}","received_events_url":"https://api.github.com/users/GeoffreyBooth/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-21T03:19:34Z","updated_at":"2016-08-21T03:19:34Z","closed_at":null,"body":"As mentioned in [my proposal](https://github.com/GeoffreyBooth/discuss/blob/0e8ab06972f676c96b84bfa33fb48f15d9396017/GeoffreyBooth-proposal.md), and soon to be in the [README](https://github.com/coffeescript6/discuss), I consider there to be only two viable options for which compiler to use as our starting point for modernization:\r\n\r\n- The [current CoffeeScript 1.x compiler](https://github.com/jashkenas/coffeescript)\r\n- The CoffeeScript Redux compiler, probably from [this PR](https://github.com/michaelficarra/CoffeeScriptRedux/pull/344)\r\n\r\nI’m nearing completion of adding support for modules to the current compiler, and after that I hope we add support for ES2015 classes to the current compiler. After that, though, we need to choose what to use as our starting point for adding more ES2015+ features; and for modernizing the compiler’s output to generate ES2015+ whenever possible.\r\n\r\nThe current compiler obviously has the most compatibility of any CoffeeScript compiler, and soon it will support modules and classes, the two biggest ES2015 features. But it’s a bear to work with, with a brain-bending codebase. Redux is easier to follow, but it doesn’t have full support for all current CoffeeScript, much less ES2015 (though that PR has added support for many ES2015 features). So really the choice boils down to a technical one: is it easier to update the current compiler, despite its flaws; or is Redux close enough to production-ready that it’s easier to [fix whatever incompatibilities](https://github.com/michaelficarra/CoffeeScriptRedux/wiki/Roadmap) it may have, and move forward from there? Input from any of Redux’s [contributors](https://github.com/michaelficarra/CoffeeScriptRedux/graphs/contributors), especially @michaelficarra, @kevinmehall, @lydell, @abedra, @Arelius and @eventualbuddha is most welcome."}}
{"actor":{"display_login":"GeoffreyBooth"}}