Euterpea is a multi-platform, domain-specific language, embedded in the functional language Haskell, for computer music development. 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.


  • (18-May-2016) With the Creators Update, Euterpea will now work on Windows 10 with any version of GHC 8.0.2. The “play” function finally works on 64-bit versions without issues! However, there is currently another bug that means you can no longer double-click hs/lhs files to open them with GHCi. There are two options:
    • Choose to open hs/lhs files with WinGHCi (right click, select “open with”, then search for WinGHCi)
    • Open a command prompt or PowerShell in the folder you want*, start GHCi from there, and then load the file. You can open PowerShell by going to the folder, then selecting File > Open Windows PowerShell.
  • (17-Apr-2016) Musical User Interfaces (MUIs) should work on all recent Macs now! See the special Mac instructions for HSoM on the download and setup instructions page (it involves reinstalling GLUT in a very particular way).
  • (22-Dec-2016) New additions: one-page quick reference PDFs for Euterpea’s note-level and signal-level features.  These are meant for quickly looking up what some of the most commonly used features are without digging through Euterpea’s source code or the HSoM textbook.
  • (22-July-2016) The Examples page has been updated.
  • (9-May-2016) Euterpea-2.0.0 is now available on Hackage!

What’s on this site

  • Library setup information:
  • Haskell School of Music – a textbook detailing Euterpea and its applications. The textbook comes with its own library, HSoM, that expands on Euterpea and includes Musical User Interfaces (MUIs).
  • API Documentation – features available in the Euterpea and HSoM libraries.

Other links

Please send questions and comments to Donya Quick.