ClojureScript is a compiler for Clojure that targets JavaScript. It emits JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler.

Why Clojure?

Clojure is a dynamic, general-purpose programming language supporting interactive development. Clojure is a functional programming language featuring a rich set of immutable, persistent data structures. As a dialect of Lisp, it has a code-as-data philosophy and a powerful macro system.

Why JavaScript?

The spread of the browser and web-based applications has given JavaScript an exclusive reach unmatched by any other language. Because of its importance, JavaScript engines are also receiving extensive research and optimization allowing JavaScript to compete for performance with many more established platforms like the JVM.

Why Google Closure?

As the purveyors of some of the most complicated client-service web applications in use today, Google has invested heavily in creating the Closure library and Closure compiler which work together to make whole program optimization possible, yielding programs that provide minimal load times even when using many libraries.

Opportunity

ClojureScript combines the reach of the JavaScript platform, the flexibility and interactive development of Clojure, and the whole-program optimization of Google Closure to provide the most powerful language for programming the web.