After overcoming a fear of brackets, the next challenge for would-be Clojurians is less superficial: to stop writing Java (or Javascript, or Haskell...) with Clojure’s syntax, and actually start “thinking“ in Clojure. It is said that Clojure is a “functional“ programming language; there’s also talk of “data-driven“ programming. What are these things? Are they any good? Why are they good? In this talk, Rafal attempts to distill the particular blend of functional and data-driven programming that makes up “idi