"How to build a Clojure dialect" by Jeaye Wilkerson