- Immutable Data
- Lisp(Code is Data)
Calcit-js was designed based on experiences from ClojureScript, with a bunch of builtin macros. It offers similar experiences to ClojureScript. So Calcit offers much power via macros, while keeping its core simple.
bundle_calcit command, Calcit code can be written as an indentation-based language. So you don't have to match parentheses like in Clojure. It also means now you need to handle indentations very carefully.
- Hot code swapping
Calcit was built with hot swapping in mind. Combined with calcit-editor, it watches code changes by default, and re-runs program on updates. For calcit-js, it works with Vite and Webpack to reload, learning from Elm, ClojureScript and React.
- ES Modules Syntax
To leverage the power of modern browsers with help of Vite, we need another ClojureScript that emits
export for Vite. Calcit-js does this! And this page is built with Calcit-js as well, open Console to find out more.