Overtone is a Clojure-based frontend to the SuperCollider audio programming environment. Clojure (and functional programming in general) has piqued my interest and taken me on a trip down memory lane when I was a wannabe Perlmonk, and way back in elementary school with the Lisp-based Logo Writer program that used a little turtle to drawn designs on the screen. It's made me realize that I have more experience in functional programming than I initially thought. Several years of object oriented languages have made Clojure feel a little alien, but it's starting to come back to me. When I told my dad I was learning a Lisp dialect, he said, "There was a saying years ago like there's two kinds of programming languages: Lisp, and everything else." I don't know if Lisp is really that different, but it gave me a good laugh.
But I digest...
Overtone, along with Leiningen, nREPL, Emacs Live, and SCIDE becomes a powerful realtime composing environment. Combine it with Quil, a Clojure frontend to Processing, and add visuals to the performance. Because Clojure runs on the JVM, one has access to all that implies. Already my head is spinning trying to conceive of the power to craft sounds and visuals as fast as you can type them.