Clojure doesn’t have types, but clojure.spec can be used to describe, validate and generate data without introducing a static type system, useful in large applications.
Nit: Clojure does have dynamic types, it is just not statically typed. Though you may provide type hints for function arguments in order to help the compiler eliminate dynamic dispatch through the (fn [^Int arg] (+ arg 1)) syntax.
Common Lisp lacks some conveniences that have become common in newer languages, such as concise literals for a wider variety of data structures, persistent immutable collections, lazy sequences and built-in general-purpose pattern matching.
concise literals: serapeum's dict or other libraries bring you { } for hash tables and the like (BTW I don't mind literals. I prefer words, such as dict).
Rovanion | 21 hours ago
Nit: Clojure does have dynamic types, it is just not statically typed. Though you may provide type hints for function arguments in order to help the compiler eliminate dynamic dispatch through the
(fn [^Int arg] (+ arg 1))syntax.vindarel | 11 hours ago
we can explore libraries on https://github.com/CodyReichert/awesome-cl/
concise literals: serapeum's dict or other libraries bring you { } for hash tables and the like (BTW I don't mind literals. I prefer words, such as
dict).persistent collections: FSet (and more)
lazy sequences: series, gtwiwtg (generators) (and more)
pattern-matching: Trivia
they aren't built-ins except if you build your distribution, like CIEL: https://ciel-lang.org/ (shameless plug)
more companies: https://github.com/azzamsa/awesome-lisp-companies/
also: https://lisp-screenshots.org/
that means ±30ms, not the Java-esque slow startup time ;)
Kratacoa | 11 hours ago
I expected more personal opinions and judgments from the author.
stig | 8 hours ago
Can you elaborate? I thought it was interesting, though as someone who has been using Clojure at work for ~7 years I’m not in the target market.
jklowden | 20 hours ago