From Twitter: What is your favorite principle Clojure is built on?



:100: Succinct, immutable data structures.

Since 99% of the code I write can be easily modeled by maps, sets, vectors, seqs, I can sketch data really easily, and I use that for design a lot. The more Clojure I write the more I realize that most programs can be written as transformations on a single map per i/o operation. I’m starting to wonder exactly how much I can infer if I write programs that do almost nothing fancy with data structures, and I bet it’s a fair bit!

Also I love having sets as a primitive, I think there’s a lot of semantic power in being able to clearly state the difference between ordered and unordered data.


Lisp. Next-level lispiness. Code is data, operations on data return data, data doesn’t change.