3 ms·
You'll have to get Michael to answer that question, but to clear the air a bit -- it's very nice to have two versions of the compiler that don't share a common
by jashkenas 14y ago
You'll have to get Michael to answer that question, but to clear the air a bit -- it's very nice to have two versions of the compiler that don't share a common ancestry (Redux is a complete rewrite).
We may merge the Redux version in and bless it as the "official" compiler some day, when it matches feature parity, and if the codebase ends up cleaner than the original (both very likely things to happen). Even in the worst case scenario, where no merge happens, we all benefit, both for learning, new features, and shared fixes for bugs, from having two independent compatible implementations of the language.
- michaelficarra 14y agoEverything Jeremy said. And my compiler isn't far away from being polished enough for me to consider it ready to be labelled 2.0. Check out the 2.0 roadmap: https://github.com/michaelficarra/CoffeeScriptRedux/wiki/Roadmap https://github.com/michaelficarra/CoffeeScriptRedux/wiki/Roa... 95% of the language features were supported during my funding period. Since then, it's nearly reached 100% feature parity, and the tooling/interfaces have been much improved. The code is a lot cleaner, a lot smaller, more modular, more extensible, and uses standard IRs. If you want to try it out, see the online editor here: http://michaelficarra.github.com/CoffeeScriptRedux/ http://michaelficarra.github.com/CoffeeScriptRedux/ (shameless plug: it was built using my new browser bundler with full minified-JS to CoffeeScipt source map support: https://github.com/michaelficarra/commonjs-everywhere https://github.com/michaelficarra/commonjs-everywhere) For anyone curious about the compiler implementation process, see this recent slide deck from my MLOC.js talk: https://speakerdeck.com/michaelficarra/an-analysis-of-the-redesign-of-the-coffeescript-compiler https://speakerdeck.com/michaelficarra/an-analysis-of-the-re...
- kodablah 14y agoI will say I very much like Redux and have used it for dumping AST nodes. I recently became interested in a project where I wanted to hack on and extend the grammar. I found this difficult in Redux, Coco (and friends), and couldn't use CoffeeScript because of lack of source map support previously. I think a huge benefit for Redux will be making the grammar very clean and extensible. I know it's on your roadmap to CS-ify it. Edit: Oh, and if you're curious, I wanted to play around w/ translating the CS AST to TypeScript AST, but I'd obviously need to add more typing/declaration syntax to the grammar.