Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’m definitely not qualified to answer, but other than not needing to worry about having a Java runtime environment, my impression is that Clojure doesn’t have a CL-like condition/restart system that allows for things like interactively dealing with errors and re-running/redefining functions in the middle of experiencing an error.

CL also has multiple dispatch and I’m not sure but I don’t think Java supports that.

I’m curious to see other responses. I’m also interested in the reverse: why Clojure over CL? (I assume integration with Java and immutable data structures, but there’s probably more.)



Java I am unsure about, but Clojure does support multiple dispatch https://clojure.org/reference/multimethods


Thanks for the correction!


I think Clojure syntax is more intuitive than CL , at least to someone who has not spend a lot of time in CL One e.g. I can see for "destructuring"

(let [ [a b c] [1 2 3]] (+ a b c))

as opposed to

(multiple-value-bind (a b c) (values 2 3 5) (+ a b c))

Also datastructres maps, sets sequence abstraction in Clojure seem more Organic...in CL its feels like bolted on




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: