Hacker News new | ask | show | jobs
by ModernMech 1495 days ago
> It's a LISP designed for the JVM

Honestly, this should be the Clojure tagline. Would solve a lot of the confusion. To be truthful, I never pictured it that way, but to be fair I think Clojure sells itself as more than that.

1 comments

But it's more than that. It has different data structures, operators and semantics from Lisp - stuff which goes beyond just a simple retargeting to the JVM. It also provides an integration into/on top of the JVM, but also stuff like persistent functional data structures, avoids OOP, ... It's opinionated.

Lisp and Scheme on the JVM exist, too.

I wish it would focus more on using technology provided by the underlying platform instead of its own half-baked and slow implementations. Clojure’s concurrency story is horrendous. There are multiple versions of shared memory concurrency on its JS and JVM runtimes but none of them scales to match the performance of the local APIs (Promises and Project Loom for Java). They are always playing catch-up five years after the original features have been shipped. Even today, trying to find an up to date library for features like WebWorkers or WebRTC that has seen a commit in the past year is a waste of time.