EdLambda: A Clojure DSL for live music programming