Tidal Cycles treats music as infinite cycles of patterns in a terse mini-notation manipulated live
Tidal Cycles, created by Alex McLean and appearing around 2009, is built on Haskell and uses SuperCollider for sound generation. Its core metaphor is music as infinite cycles: every sound is a pattern repeating in time, and patterns can be combined, transformed, and replaced on the fly. The mini-notation (e.g. "bd sd [hh hh]") expresses complex polyrhythmic sequences in a handful of characters. Because Haskell is functional, patterns are first-class values passed to higher-order functions, so the language itself can be manipulated and extended in real time. Tidal became arguably the most-used live coding environment in musical performance; Strudel (2022) is its browser-based port.
Examples
d1 $ sound "bd sd [hh hh]" # speed 1.5
d2 $ sound "cp(3,8)" -- Euclidean rhythm in mini-notation
Assessment
Explain what Tidal means by treating music as infinite cycles of patterns, and why a functional language suits live manipulation of those patterns.