Skip to content
Clojure to JS compiler
Clojure Shell Other
Latest commit 053d7f1 Jun 26, 2016 @mfikes mfikes committed with swannodette CLJS-1694: Self-host: Port macro var inference in :refer
Employ the same general strategy used in JVM ClojureScript:

Defer checking uses until after macro processing of the namespace form
is complete, feeding missing uses to check-uses-macros, employing
a factored out common check-use-macros-inferring-missing that JVM
and bootstrapped ClojureScript can use (with this factored funtion
taking care of finding inferred macros and updating the compilation

In short, the bootstrap port of the feature is faithful to the
JVM implementation of the feature.

Add a new unit test for this feature and tweak the self-host-parity
test to avoid loading clojure.template, which otherwise results in
the compiler enviroment dynamic var being inadvertently cleared.

What is ClojureScript?

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

Releases and dependency information

Latest stable release: 1.9.89

Leiningen dependency information:

[org.clojure/clojurescript "1.9.89"]

Maven dependency information:


Getting Started

Questions, Feedback?

Please point all of your questions and feedback to the Clojure mailing list. There is a community run ClojureScript user mailing list and the IRC channel, #clojurescript on, is quite active. There is also a community run Slack channel. The Jira bug/feature tracking application is located at Before submitting issues please read the Reporting Issues page first.

Developers Welcome

ClojureScript operates under the same license as Clojure. All contributors must have a signed CA (Contributor's Agreement) and submit their patch via the appropriate channels. If you're interested in contributing to the project, please see the contributing page on For more information about working on the compiler and testing check the Developer section of the wiki.


YourKit has given an open source license for their profiler, greatly simplifying the profiling of ClojureScript performance.

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.


Copyright (c) Rich Hickey. All rights reserved. The use and
distribution terms for this software are covered by the Eclipse
Public License 1.0 (
which can be found in the file epl-v10.html at the root of this
distribution. By using this software in any fashion, you are
agreeing to be bound by the terms of this license. You must
not remove this notice, or any other, from this software.
Something went wrong with that request. Please try again.