logoalt Hacker News

Jeayetoday at 12:39 AM3 repliesview on HN

Once you learn Clojure's syntax and semantics, you're no longer bound to the JVM. There's ClojureScript (JS), ClojureCLR, ClojureDart, jank (C++), Basilisp (Python), babashka (SCI), and many others. This means that, if you don't know Java or don't like the JVM, you can likely use Clojure wherever you already feel most comfortable.

For the most part, any Clojure code which doesn't use host interop will work on all dialects. Clojure also has support for conditional code, depending on the current dialect.

This is one of Clojure's superpowers.


Replies

JBiserkovtoday at 3:27 PM

> babashka (SCI)

Correct me if I'm wrong, but isn't babashka's "host"... um.. "native", for lack of a better word? It's compiled with Graal VM native, no?

Yes, there is SCI (Small Clojure Interpreter) in the middle, but that's beside the point, no?

https://github.com/babashka/babashka

https://github.com/babashka/sci

show 1 reply
Hammershafttoday at 5:13 AM

As someone who loves Clojure, I wonder about the real portability across host languages. Do you have experience with any of these other dialects? (beyond the obvious CLJS & Babashka?)

show 1 reply
brazukadevtoday at 3:35 AM

for JS there is also Squint which is a light-weight ClojureScript dialect without the Google Closure Compiler

show 1 reply