I’m not sure I would prefer this over a different (probably visual) tool that facilitates, e.g., ensuring that a given set of notes fits into a measure, or checking which notes are played simultaneously. It also frustratingly does not take advantage of any of Clojure’s functional affordances, such as the ability to transform data programmatically, and does introduce global state, harkening back to C’s misplaced notion of “macros”. Not much here seems Clojure-specific other than the sometimes confusing dynamic behavior, such as implicit list interpolation, and JS interop. All that said, I hope this becomes more than just a Lisp-based clone of an existing format with mature tooling: http://lilypond.org/text-input.html