4 ms·
You have taken a statement that essentially means "Lisp is a pretty good general purpous language" and interpreted it as "If I use lisp I have to create the uni
by pavelludiq 13y ago
You have taken a statement that essentially means "Lisp is a pretty good general purpous language" and interpreted it as "If I use lisp I have to create the universe from scratch in order to make an apple pie, and others will have to rediscover all of physics to exist in my universe".
Common Lisp, Clojure and Racket all have at the very least a descent set of libraries. And if you use clojure or ABCL, you get all of the jvm libraries too. With FFI you can use any C library from Common Lisp or Racket too. On top of that you get to use languages designed for extensibility, which means that there are actual best practices and examples of how to extend a language without painting yourself into a corner with an unmaintainable mess. Lispers have been doing stuff like this for decades, some of it is very well understood in the various lisp communities.
My favorite example of this power are the various sql DSLs, I can write in lisp something like (query (:select :* :from 'some-table :where ...)) without having to concatenate strings and worry about injections. Yes, I have to learn a new language on top of Common Lisp to use it, but if you know SQL and Lisp, you already know 90% of it. Now I have all the power of lisp in my queries, isn't that cool?