There are a few, with varying degrees of distance from the JVM and varying degrees of similarity to Clojure.
- There's ClojureScript, which is Clojure transpiled to JavaScript.
- See also Lumo (<https://github.com/anmonteiro/lumo>) and Planck (<https://planck-repl.org/guide-all.html>)
- There's Babashka (https://github.com/babashka/babashka), which is a natively-compiled Clojure interpreter, implemented with the Small Clojure Interpreter (https://github.com/babashka/sci) and GraalVM for native compilation.- There's Joker (https://github.com/candid82/joker) with a similar mission to Babashka, but commonly used as a linter.
- There's ClojureCLR (https://groups.google.com/g/clojure-clr) on the Common Language Runtime.
- There's Cloture (https://github.com/ruricolist/cloture), which is Clojure in Common Lisp.
- There's Clojerl (https://www.clojerl.org/), which is Clojure for the Erlang VM.
- There's Pixie (https://blog.goodstuff.im/pixie), with Clojure syntax, but compiling to native.
- There's Ferret (<https://github.com/nakkaya/ferret>) which is Clojure transpiled to C++11.
- There are some Lisps that have borrowed Clojure's syntax:
- Janet <https://janet-lang.org/>
- Carp <https://github.com/carp-lang/Carp>
There are a variety of other Lisp-like languages listed here: https://github.com/dundalek/awesome-lisp-languagesApologies for the formatting.
For ClojureScript I guess there's lots of options since you can access the Javascript ecosystem.
One of the benefits of being hosted is that we can always fall back on the host language's options.
Joker is a Clojure interpreter, mostly used as a linter in the community but can be used as a runtime as well.
But yeah, unfortunately Joker doesn't do interop, which is sad because it's one of the coolest features of the Clojure language.
I don't think this is necessarily a matter of popularity or maturity. I don't know of languages that compile to Python bytecode, either. In Python's case I suspect the VM is so optimized for Python that it makes an inflexible target for other languages: I don't know enough about this subject to say whether that's the case for Go as well.
I think I'm surprised in general that no language targets the Go runtime. A ML built on Go could probably be popular, lots of people would like features from it.
Not exactly bytecode but Hy https://github.com/hylang/hy is a dialect of Lisp that compiles to Python.
* https://convexhuman.com/graalvm-clojure.html * https://nitor.com/en/articles/fast-cold-starts-for-clojure-i... * https://www.innoq.com/en/blog/native-clojure-and-graalvm/
Since development in the REPL is so common (watch any Clojure live coding session), JVM startup time isn't much of an issue in practice.