Parsing with Derivatives in Clojure