Skip to content

Bootstrapped ClojureScript FAQ

Mike Fikes edited this page Jul 18, 2015 · 41 revisions
  1. Does bootstrapped ClojureScript mean that I'll be able to develop ClojureScript without the JVM?

It is not a goal of bootstrapped ClojureScript to eliminate the JVM.

  • The JVM is used by Google Closure Compiler. Thus a JVM needs to be present for anything other than compiler :optimizations set to :none. (While :none is common for REPL development, :advanced is often used for production builds.)
  • The JVM implementation is efficient. As things stand now it usually leads to faster reading, analysis, and compilation than most JavaScript engines.
  • Much of the existing ClojureScript compiler infrastructure relies on Java-based file I/O and use of the classpath.
  • While there may be advantages to a completely JVM-free implementation, developing and maintaining such a thing is not free.

Having said that, there is nothing preventing the creation of development tools (REPLs, IDEs, etc.) that make use of bootstrapped ClojureScript without a JVM present.

Clone this wiki locally