a Clojure Markdown implementation expressed in a context-free grammar