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.
use './Todo'
use 'backbone' bb
use 'storage' Storage
class TodoList : bb.Collection {
localStorage = &Storage('todos-backbone')
model = Todo
func getModel() me.model
}
func init() {
ch = chan()
go {
timeout(100)
ch <- 'some msg'
}
go { console.log(<- ch) }
}
Asynchronous Nature
Cor allows you to spawn coroutines and synchronize it by passing messages through channels. It is designed to deal with asynchronicity and parallel I/Os by writing sequential code.
Hot reaload
Cor provides a smooth front-end development by furnishing a builtin 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.
<html>
<script
type="text/javascript"
src="node_modules/cor-lang/dist/cor.js">
</script>
<script data-entry="my_app.cor"></script>
</html>
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.