In this talk we discuss the design rationale for Euterpea, describe its basic functionality, and highlight some of its more innovative features.
Euterpea: from Signals to Symphonies
Paul Hudak
Yale University
Department of Computer Science
Euterpea is a new domain-specific language and programming environment for computer music applications, that showcases the use of advanced programming language ideas in its design. It is being developed in the context of Yale's new C2 Initiative (Creative Consilience of Computing and Arts), and is the only computer music programming environment based on a purely functional programming model.
In this talk we discuss the design rationale for Euterpea, describe its basic functionality, and highlight some of its more innovative features: a vertical language design (from audio signals to symphonic compositions), a separation between structure and interpretation (form and function), a monadic musical user interface (MUI), real-time sound synthesis (using arrows), and the use of functional reactive programming (FRP) in interactive music applications. We also discuss how teaching computer music using Euterpea is an excellent way to teach fundamental principles of programming, in a fun and rewarding application area.
Biography
Paul Hudak is a Professor in the Department of Computer Science at Yale University. He has been on the Yale faculty since 1982, and was Chairman from 1999-2005. He received a BE from Vanderbilt in 1973, an MS from MIT in 1974, and a PhD from the University of Utah in 1982.
Professor Hudak's research interests center on programming language design, theory, and implementation. He helped to organize and chair the Haskell Committee, which in 1988 released the first version of Haskell, a purely functional non-strict programming language. Hudak was co-Editor of the first Haskell Report, and has written a popular tutorial and a textbook on the language. More recently he has been involved in the design of domain-specific languages for a diverse set of application domains, including mobile and humanoid robotics, graphics and animation, music and sound synthesis, graphical user interfaces, networking, and real-time systems. He has also developed techniques for embedding such languages in Haskell, including the use of abstract models of computation such as monads and arrows.
Professor Hudak has published over one hundred papers and one book. He was Editor-in-Chief of the Journal of Functional Programming and a founding member of IFIP Working Group 2.8 on Functional Programming. Among his honors, Professor Hudak is an ACM Fellow, and is a recipient of an IBM Faculty Development Award and an NSF Presidential Young Investigator Award. In 2009 he was appointed Master of Saybrook College at Yale.