123456789101112131415161718192021222324252627282930 |
- (post
- :title "Arguile Updates, Clojure Comparison"
- :date (make-date* 2017 3 16)
- :tags '("clojure" "clj" "lisp")
- (h3 [Update])
- (p [Finally found the downtime to write some brief updates. Over the
- past few months, I've been using Clojure at my job. It's
- pretty awesome,
- and solves many of the problems attempted by Arguile.
- It also has some major wins over Arguile:
- it's highly concurrent (arguile still relies on kernel threads/mutexes)
- it runs on the JVM (arguile written in c) a debatable win, and has fast dynamic
- polymorphism through protocols
- (arguile has slower dispatch-on-type polymorhism). There are many more
- examples, each a decent strike
- against Arguile. Most programmers would be happy with Clojure, and me too, but
- Arguile is still a small project, so not exactly fair to compare.
- Regardless, I have found some interesting differences between the two
- , and even a few wins in the Arguile camp.
- But first, let's quickly overview what I've copied
- from Clojure into Arguile.])
- (h3 [Things Arguile needed to copy:])
- (ul
- (li
- (p [vector and hash-table syntax. Just a great feature that leverages these unused characters]))
- (li (p [Data destructuring. Used all over the place in clojure, and for good reason]))
- (li (p [Expression threading. Turns (f1 (f2 (f3 exp))) into (-> exp f3 f2 f1).]))))
|