Hacker News new | ask | show | jobs
by lgrapenthin 11 days ago
Clojure is about its rigorous and pragmatic "immutability first" paradigm that you simply don't get from other PLs.

LISP is much more than just a runtime syntax, such as its distinct evaluation model and metalinguistic core.

The JVM was chosen for Clojure because of its reach and vast ecosystem. People have ported Clojure to other runtimes, even Beam (Clojerl), where it enjoys decent success, too.

2 comments

All true. And I loved trying Clojure for 3-4 weeks some years ago.

Still want Erlang's runtime though i.e. the many green threads with share-nothing architecture that can communicate with each other.

Clojure on JVM with virtual-threads (green threads) and communicating only via core.async channels (CSP inspired) using immutable data structures is pretty neat, FWIW.
Cool. I might have to revisit, if I ever find the time. Thanks, your comment aligns with what multiple other commenters expressed.

Info gets stale. Fair.

You don't think Erlang has an "immutability first" paradigm?
Erlang is weird in this regard. It has very strong guarantees when it comes to per-process heap that make GC much simpler: no escape hatches for mutability when most immutable languages do include them! But on the other hand inter-process communication is a form of mutability (using another process as a global mutable variable is trivial) and ETS etc. present a mutable interface.