What is Bootstrapped ClojureScript?

July 17, 2015

Here is a simplified description of bootstrapped ClojureScript.

First, let's consider a coarse depiction of “regular” ClojureScript. Source files for the core namespace and an app namespace are compiled. The resulting JavaScript files are deployed in a JavaScript engine.




Next is a depiction of bootstrapped ClojureScript. Now, the compiler is additionally being compiled to JavaScript. This enables—say—an additional foo namespace to be compiled from within the JavaScript runtime environment.




Of course, the real picture is a bit more complicated, especially considering macros and other practicalities. But, hopefully this conceptual picture helps.

Tags: ClojureScript Bootstrap