LiveScript vs Cor
When comparing LiveScript vs Cor, the Slant community recommends LiveScript for most people. In the question“What are the best languages that compile to JavaScript? ” LiveScript is ranked 27th while Cor is ranked 42nd. The most important reason people chose LiveScript is:
LiveScript has terse syntax for common functional operations like map, and ships with a library, prelude.ls, with many of the functions most commonly used by functional programmers.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Designed for High-level functional code
LiveScript has terse syntax for common functional operations like map, and ships with a library, prelude.ls, with many of the functions most commonly used by functional programmers.
Pro Good amount of programmer flexibility
There's a huge range of features that can make common tasks faster.
Pro ECMA 6 Features
It is the declared goal of LiveScript’s creators to track ECMAScript 6. Hence, the language gives you ECMAScript 6 plus type annotations (which are optional).
LiveScript's module syntax is currently a bit behind the ECMAScript 6 specification (something that will be fixed eventually). It supports two module standards: CJS (Node.js) and AMD (RequireJS).
Pro Fixes coffeescript scoping issues
=
is used to declare variables in the current scope, in order to redeclare variables of outer scope :=
is used. This way bugs are reduced.
Pro Supported by WebStorm and Visual Studio
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.
Cons
Con Strong functional lean
LiveScript is designed to be a high level functional language. For people who prefer a more imperative approach it can be hard to get used to.
Con Compiles to unreadable javascript
JSON.stringify(
each(upCaseName)(
sortBy(function(it){
return it.id;
})(
(function(){
var i$, ref$, len$, ref1$, j$, len1$, ref2$, results$ = [];
for (i$ = 0, len$ = (ref$ = table1).length; i$ < len$; ++i$) {
ref1$ = ref$[i$], id1 = ref1$.id, name = ref1$.name;
for (j$ = 0, len1$ = (ref1$ = table2).length; j$ < len1$; ++j$) {
ref2$ = ref1$[j$], id2 = ref2$.id, age = ref2$.age;
if (id1 === id2) {
results$.push({
id: id1,
name: name,
age: age
});
}
}
}
return results$;
}()))));
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.