Haskell

There is a certain mind-set, a certain Viewpoint of the world, and a certain approach to problem solving that collectively work best when programming in Haskell (this is true for any programming paradigm). If you teach only Haskell language details to a C programmer, he or she is likely to write ugly, incomprehensible functional programs. But if you teach how to think differently, how to see problems in a different light, functional solutions will come easily, and elegant Haskell programs will result.

Music has many ties to mathematics. Combining the elegant mathematical nature of Haskell with that of music is as natural as singing a nursery tune. Using a high-level language to express musical ideas is, of course, not new. But Haskell is unique in its insistence on purity (no side effects), and this alone makes it particularly suitable for expressing musical ideas. By focusing on what a musical entity is, rather than on how to create it, we allow musical ideas to take their natural form as Haskell expressions. Haskell’s many abstraction mechanisms allow us to write computer music programs that are elegant, concise, yet powerful. We will consistently attempt to let the music express itself as naturally as possible, without encoding it in terms of irrelevant language details.

~

HUDAK, Paul and QUICK, Donya, 2018. The Haskell school of music: from signals to symphonies. Cambridge, United Kingdom ; New York, NY: Cambridge University Press. ISBN 978-1-108-41675-7.

~

Write your tools and build scripts in Elm. github