Blogs (27) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Fri 8 Sep 2017 10:30 - 11:00 at L1 - Day 2, Session 2

Music description and generation are popular use cases for Haskell, ranging from live coding libraries to automatic harmonisation systems. Some approaches use probabilistic methods, others build on the theory of Western music composition, but there has been little work done on checking the correctness of musical pieces in terms of voice leading, harmony, and structure. Haskell’s recent additions to the type-system now enable us to perform such analysis and verification statically.

We present our experience implementing a type-level model of classical music and an accompanying EDSL which enforce the rules of classical music at compile-time, turning composition mistakes into compiler errors. Along the way, we discuss the strengths and limitations of doing this in Haskell and demonstrate that the type system of the language is fully capable of expressing non-trivial and practical logic specific to a particular domain.

Fri 8 Sep

haskellsymp-2017-papers
10:30 - 11:30: Haskell 2017 - Day 2, Session 2 at L1
haskellsymp-2017-papers150485940000010:30 - 11:00
Talk
haskellsymp-2017-papers150486120000011:00 - 11:30
Talk