Hacker News new | ask | show | jobs
by jlarocco 3943 days ago
I can't believe an article about Lisp left out QuickLisp. It's the most popular Common Lisp package manager and has over 1200 open source libraries in it, and most of them are written in Common Lisp, or are bindings to native C/C++ libraries. Using libraries written in the same language you're using has a lot of advantages. Using Java libraries from a Lisp seems clunky.

Also, judging solely by the number of available packages is not a good measurement. Browse through NPM, and it's pretty obvious there are a LOT of duplicates, and that people have published libraries for the silliest little things. Search for "PNG", for example, and in the first page of results there are two different png diff libraries, a few libraries for determining if a buffer contains a PNG byte-stream, multiple stream and un-stream libraries, etc. That's all done with a single library in CL.

And finally, I don't think Clojure is that great. It's better than Java, and it's what I'd use if I had a lot of legacy Java code to work with, but it wouldn't be my first choice for a new project written in Lisp. I would hazard a guess that it's popular because it's less clunky than Java, without the over the top type system of Scala.

1 comments

You might want to check out Kawa: http://www/gnu.org/software/kawa . It's mature (since 1996); runs on the JVM; compatible with Scheme standards (basically full R7RS except for continuations); great Java/JVM interop; trivial and flexible deployment (just a jar, unlike Clojure which assumes its own eco-system); extremely fast start-up (easily beats ABCL and Clojure); good compile-time and run-type error-reporting; and best-of-class runtime speed (comparable to Java/Scala with appropriate use of optional type specifiers).
Your Kawa URL is broken; should be https://www.gnu.org/software/kawa/