3 ms·
a) Common lisp was already in undead state when Javascript became big. Semi-dead languages as a rule have worse tooling for "new" stuff. b) Clojure didn't real
by patrec 7y ago
a) Common lisp was already in undead state when Javascript became big. Semi-dead languages as a rule have worse tooling for "new" stuff.
b) Clojure didn't really fully succeed, there were annoying differences between Clojure and Clojurescript last time I looked. There are compilers for incomplete subsets of CL to JS as well, although presumably much worse ones.
c) There's some stuff in Common Lisp that's quite hard to do efficiently on top of most existing language runtimes. For example resumable exceptions and lua/CL-style optional multiple return values. In assembler or without concern for efficiency the last one is trivial, otherwise, not so much.
d) Clojurescript could bootstrap existing fancy JVM platform stuff (closure compiler) to do quite a lot of heavy lifting.
- wtetzner 7y agoRelated to a), Clojure is just more popular than CL, and has a lot of momentum pushing it into the browser.
- nextos 7y agoI like Clojure, but sometimes I dislike it's so heavily tied to the JVM and/or purely functional. I think a modern multiparadigm Lisp on LLVM would be great. Perhaps that's Julia, though.
- aidenn0 7y agoB & C are good points, but... A) Writing a new Common Lisp implementation is a major undertaking, but a new implementation was creates specifically for C++ interop[1], and that implementation is certainly post javascript being big. D) Anything targeting JS can run the output through closure; I've done so with Parenscript, for example. 1: https://github.com/clasp-developers/clasp https://github.com/clasp-developers/clasp
- patrec 7y agoA) I'm well aware of clasp, and its a cool project (and post javascript, as well) but it's hardly anywhere near production quality right now (unlike say, clojurescript). So I don't think it's a counters my argument about the CL ecosystem (I'm sceptical that it would make much of a dent even if it becomes a technical success beyond Dr Meister's wildest dreams). D) Of course, but if you require some additional JVM based tooling for a JVM language like clojure, you lose 0% of your potential audience and introduce no additional friction, which is not at all the case for CL (nor would it be for, say C++ or Lua).