4 ms·
With Clojure out there now I think the number of products using a Lisp is underestimated.
by 83457 5y ago
With Clojure out there now I think the number of products using a Lisp is underestimated.
- eadmund 5y agoBut Clojure is not a Lisp. It is Lisp-adjacent, a bit, but it is really not the same language.
- throwaway599281 5y ago>Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. [0] Neither the Clojure page, nor its users seem to agree with you. [0] https://clojure.org/ https://clojure.org/
- nerdponx 5y agoIt's not Lisp-as-in-Common-Lisp. It's closer to Scheme than to CL. But it's "a Lisp" in the colloquial sense that it uses s-expression syntax and has macros.
- lispm 5y agoNot s-expressions in the traditional Lisp definition of singly linked lists. In Lisp (a . b) is a cons cell with two symbols a and b. In Clojure it is some complex data structure with three elements a, ., and b.
- remexre 5y agoI think the typical argument goes something along the lines of, "it uses []{} and doesn't make cons the default data structure, abandoning some simplicity-of-language."
- 83457 5y agoAren't the brackets/braces just sugar?
- speed_spread 5y agoLet's see: - Insists on every expression being (wrapped (in parenthesis)) - Uses polish prefix notation - Profound belief that recursion is more intuitive than loops - Macros everywhere, because code is data, so why not? - Whole language built from a very small set of axioms - REPL-based workflow QED Clojure is _a_ Lisp. (FWIW I'm learning Racket right now)
- jhgb 5y agoLisp: "List processing". Clojure doesn't even have cons cells... A Lisp without cons cells is like a C derivative without pointers...is it really C at that point? I'd also question the "profound belief that recursion is more intuitive than loops" since Lisp supports loops extremely well -- better than most languages, since you can build up your own iterative constructs using tagbody. And Clojure doesn't even have proper tail calls, so I doubt that Clojure actually believes in recursion.
- speed_spread 5y agoClojure doesn't have tail calls because they should be implemented at the JVM level to be effective, a feature which has been on the back burner for ever because no other languages would use them.
- lispm 5y agoProgramming languages on top of the JVM would not use that? Who said that?
- bigbillheck 5y agoPerfect example of the Curse, thank you.