What do you all think are the "good bits" of lisp that Clojure lacks?
Compared to common lisp off the top of my head (correct me if I am misrepresenting Clojure from memory): condition system, multiple return values and &key, CLOS with all that entails, and I seem to remember that clojure had some fiddly issues with macros and reader macros.
Not intended as a knock on Clojure, btw, but the JVM is somewhat limiting, in the same way you can't do a "proper" common lisp on the CLR.
Readable stack traces. Unfortunately, the JVM is the culprit here. I like Clojure's syntax, and some other bits, but if I were to chose a Lisp that runs under another system like Clojure, I'd choose Shen [1].
Shen is built on it's own simplified parent dialect that is easily implementable in pretty much any language. Once you implement that core, everything else comes along for free, in theory.
Comments
Virding's YouTube presentation at a Clojure conference about this new lisp says this in the caption:
It also knocks Clojure a bit. What do you all think are the "good bits" of lisp that Clojure lacks?
Not intended as a knock on Clojure, btw, but the JVM is somewhat limiting, in the same way you can't do a "proper" common lisp on the CLR.
FWIW, reading this sentence w/o any extra context, it doesn't seem to imply anything bad about clojure.
The bit about Clojure was additional information in the source that I did not quote.
Readable stack traces. Unfortunately, the JVM is the culprit here. I like Clojure's syntax, and some other bits, but if I were to chose a Lisp that runs under another system like Clojure, I'd choose Shen [1].
Hm, I guess I can't imagine how that would work, one language running under all those environments?
Shen is built on it's own simplified parent dialect that is easily implementable in pretty much any language. Once you implement that core, everything else comes along for free, in theory.
Tail recursion optimization, for one. Clojure makes up for it with recur though, so in practice, it's not that big of a deal.