Clojure is intended to target several backends. This is a side effect Clojure being a hosted language designed with the philosophy of embracing the host. It will never be the goal, for instance, to make the same code written for Clojure on the JVM run unmodified on, again for instance, the CLR. Substantial amounts of code are common between Clojure for the JVM and ClojureScript, which is a nice bonus.
It is currently stable for:
- JVM
- JavaScript/ECMAScript
Generally stable for:
- CLR/.net
and I know of experimental builds for:
- Python
- C
- Scheme
- IOS (via Scheme)
More targets are showing up as interest and time intersect. If you would like to provide an implementation for your favorite Lisp, patches welcome! It would be advisable to base your implementation on the ClojureScript compiler as it best exemplifies the intended development methods for the compiler.