I'm not sure what you're asking... Clojure is a language that, as an explicit design goal, embraces a host platform. Two of those hosts, actively maintained by registered Clojure contributors, are the JVM and JavaScript. The JVM ecosystem came first, has access to a generally superior host platform and libraries, is implemented largely in Java, and contains many required components to bootstrap ClojureScript. ClojureScript is implemented in JVM-Based Clojure, reusing some of those Java components (like the reader), lacking in features that generally make less sense in target environments (ie. eval in browsers), and generally acts as a complementary library for JVM Clojure web apps. Being a Clojure dialect, there is community interest in reusing some of ClojureScript's implementation, meta circularly, for additional platforms including Lua, ChickenScheme, LLVM/ObjC, .NET, and yes, the JVM. If the people working on those projects want to contribute modularity and platform abstraction improvements to ClojureScript's reader, analyzer, code generator, build infrastructure, or libraries, their patches will be actively considered.