ClojureScript vs Transcrypt
ClojureScript
clojurescript.orgTranscrypt
transcrypt.orgSide by side
| Figure | ClojureScript | Transcrypt |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Code Transpilers | 8.4 (#4) | 8.0 (#9) |
| Debugging | The quick start says source mapped stack traces point to ClojureScript source locations instead of JavaScript locations. | Transcrypt provides multi-level source maps so developers can debug generated JavaScript from Python source code. |
| Intended use | The rationale describes ClojureScript as a way to use Clojure for client and embedded application development wherever JavaScript reaches. | The documentation says Transcrypt focuses on browser development and JavaScript libraries rather than desktop Python libraries. |
| Language features | It brings Clojure’s rich data structures, functional programming, macros, reader, destructuring, and polymorphism constructs to JavaScript environments. | Listed features include multiple inheritance, async/await, comprehensions, modules, optional static type checking, source maps, and built-in minification. |
| What it does | ClojureScript is a compiler for Clojure that emits JavaScript. | Transcrypt compiles a fairly extensive subset of Python into compact, readable JavaScript. |
Plans
In their own words
ClojureScript
ClojureScript is a compiler that turns Clojure code into JavaScript for client and embedded application development wherever JavaScript reaches. It brings Clojure data structures and constructs—including functional programming, macros, destructuring, and polymorphism—into JavaScript environments. Its output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code. REPL support enables interactive development and testing in a browser or Node.js; the quick start uses browser output by default and selects Node.js output with a target setting. ClojureScript supports both ClojureScript and JavaScript dependencies, with React demonstrated in the quick start. Listed build tools include shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild. Editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. Documentation includes compiler and REPL options, dependencies, advanced compilation, source maps, and JavaScript module support marked Alpha. The project is open source under the Eclipse Public License 1.0 and lists Linux, macOS, Windows, web, and self-hosted environments.
Transcrypt
Transcrypt compiles Python source code into JavaScript for browser applications. It converts a substantial subset of Python into JavaScript 6, with optional minification, and supports features including multiple inheritance, async/await, comprehensions, and modules. Developers can call JavaScript functions from Python and use browser DOM functions and JavaScript libraries. The distribution includes optional static type validation and consistency checks, plus multilevel source maps for tracing generated JavaScript back to the original Python. Transcrypt can also compile Python server code for Node.js and use Node libraries with require(). The project recommends installing it as a Python package with pip and documents testing on Windows, Linux, and OSX. Its focus is browser development and JavaScript libraries rather than desktop Python libraries. Because code is precompiled, Python exec and eval are unsupported, although JavaScript eval is supported. C and C++ libraries are not directly supported for browser use without special measures such as compiling them to asm.js. Transcrypt is free and open source under Apache 2.0.