Strange Loop

Alda's dynamic relationship with Clojure

Alda is a music programming language that provides a way to describe a musical composition as a text document. Its syntax is easy to use and well-suited for both musicians with little-to-no programming knowledge and programmers who lack music theory knowledge.

Alda and Clojure have a complex relationship that is at the center of this talk. I will tell the story of how the two became intertwined and my current effort to disentangle them. Interesting topics that will be discussed along the way include ZeroMQ, Open Sound Control (OSC), and the creation of native executables.

Dave Yarwood

Dave Yarwood


Dave Yarwood is a composer, musician, and software engineer at Adzerk, where he uses Clojure and ClojureScript to build UIs, APIs, and backend services. In addition to Alda (an open-source music composition programming language), he maintains a number of open-source Clojure libraries such as ezzmq (a high-level ZeroMQ library for Clojure) and Mantra (a ClojureScript Web Audio API music library). Dave holds a Bachelor of Music degree from the University of North Carolina at Chapel Hill, with focuses in Music Composition and Bassoon Performance. He is endlessly fascinated by the intersecting worlds of music and programming.