When comparing Cor vs Earl Grey, the Slant community recommends Earl Grey for most people. In the question“What are the best languages that compile to JavaScript? ” Earl Grey is ranked 29th while Cor is ranked 42nd. The most important reason people chose Earl Grey is:
Earl Grey's macro system allows for creating powerful control structures that look just like builtin ones. EG also supports macro libraries which allows developers to provide their macros/DSLs for others to use.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy to debug
Cor supports source-maps, allowing you the easy debugging in major browsers. However a line of Cor source is compiled to the exact line number in JavaScript for accurated debugging when developing in platforms that doesn't supports source-maps such as servers.
Pro Clean syntax
Cor enables you to write large applications by providing a clean syntax, classes and a modular architecture to keep organized code, enforcing the writing of readable source code based on conventions.
Pro Cross platform
Cor compiles to plain JavaScript, so, to run it in Node.js or in the browser is piece of cake.
Pro Support coroutines
Cor support coroutines which can be chained, stopped, and synchronized, fitting very well into the web asynchronous world.
Pro Hot reload
Cor provides a smooth front-end development by furnishing a builtin hot-loader which resolves dependences and compiles source code on the fly, with just reloading the Web page. You will only need to use CLI tools to deliver a production-ready version of the app.
Pro Concurrent and parallel
Cor allows to synchronize coroutines by passing messages through channels, and supports the execution of many tasks in parallel, all of that by writing sequential code.
Pro Powerful hygienic macros
Earl Grey's macro system allows for creating powerful control structures that look just like builtin ones. EG also supports macro libraries which allows developers to provide their macros/DSLs for others to use.
Pro Pattern matching
Pattern matching is an incredibly powerful tool that, once you've tried, you cannot live without. This is not your average hacked-together pattern matching but a complete and integral feature to the language.
Pro ECMAScript 6 Asynchrony
Earl Grey provides Promises based on ECMAScript version 6 and as many NPM libraries already implement. Earl Grey also provides a promisify
function that converts old-fashioned callback-style asynchrony to promises.
Pro Fully compatible with Node.js ecosystem
Anything available on NPM can be used just as easily with Earl Grey. In fact, everything else can be used too! Earl Grey has interfaces to Browserify, Webpack, and even experimental support for SystemJS. Earl Grey can even be used to generate npm packages that any node-compatible language can use!
Cons
Con Work in progress
Cor is still a very much young project (as of November 2015) with just one contributor, few stars on GitHub and virtually no learning resources outside the official documentation.
Con Not true static typing
EG gives you the tools to implement your own type-checking inside of argument lists and elsewhere but there's no analysis done at compile-time like other compile-to-js languages.
Con Unfamiliar syntax
While the language shares a lot of DNA with Python, there are still many new (and interesting) features/sugar that may take some time to get used to.
