Euterpea is a domain-specific language, embedded in the functional language Haskell, for computer music development. The name Euterpea is derived from Euterpe, who was one of the nine Greek Muses (goddesses of the arts), specifically the Muse of Music.
Euterpea is a descendant of Haskore and HasSound, and is intended for both educational purposes as well as serious computer music applications. Euterpea is a wide-spectrum language, suitable for high-level music representation, algorithmic composition, and analysis; mid-level concepts such as MIDI; and low-level audio processing, sound synthesis, and instrument design.
The Haskell School of Music textbook describes Euterpea and also serves as an introduction to the Haskell programming language. It’s companion library, HSoM, also includes a “musical user interface,” a set of computer-music specific GUI widgets for designing real-time, interactive musical applications built on the Euterpea and UISF libraries.