←back to thread

188 points refset | 1 comments | | HN request time: 0.407s | source
Show context
masijo ◴[] No.41865268[source]
Incredible work. A native Clojure would be a dream come true!

Wish jank the best of lucks. Hope I can contribute soon.

replies(1): >>41869688 #
systems ◴[] No.41869688[source]
From their website, Jank is a dialect of clojure, and strongly compatible, I am not 100% sure what this means, but to me at least, it means it is not clojure and it is not native coljure

That being said, what would be the benefits of a native clojure, you have common-lips and guile if you want native

But again, Jank is not clojure .. just clojure-like, or so it seem

replies(3): >>41870009 #>>41870821 #>>41872076 #
1. eduction ◴[] No.41870821[source]
refset is right, if this implements clojure.core it will be seen as a "real" clojure in the community, ala ClojureScript.

People use the Clojure that is the right fit for the environment they need to operate in, so arguments about authenticity don't tend to come up. Clojure has always been positioned as a pragmatic Lisp and the situation very much reflects that.

The OG Clojure is the one for the JVM and for some people this will always be the only "real" one in some sense, because JVM interop is a huge deal - it gets you access to tons of high-performance Java libraries. If you're writing server-side Clojure that's hard to beat.

But the other clojures have strengths in their niches. If you're writing for the browser, JVM interop doesn't buy you anything but JS interop does, hence ClojureScript. If you're doing a lot of shell scripting you'll probably want babashka for fast startup times. If you're doing mobile+desktop GUI development with Flutter you'll use ClojureDart (if you use Clojure at all).

Jank is aiming for C++ and I'll be curious if there is an interop story there. But again if you're looking to interop with an existing C++ code base it's sort of academic to ask whether Jank is "real" clojure or not.