home/ atoms/ tidal-live-compiling-completion-rule

Tidal loops the current command until a new one compiles, with a completion rule ensuring musical continuity

TidalCycles’s execution model separates code editing from playback: when a coder submits a new pattern, the pattern currently playing continues until the new command has successfully compiled. A ‘notion of completion’ then ensures the new command begins at a musically appropriate moment (a cycle boundary in McLean’s design) rather than abruptly. Because failed code never compiles, it simply produces no change and no silence — a safety property that greatly reduces performance risk. Haskell’s strong static type-checking reinforces this by catching many errors before they can break a running performance.

Examples

Evaluating a new TidalCycles pattern mid-cycle: the old pattern completes its current cycle, then the new pattern begins at the next cycle boundary (unless it failed to compile, in which case the old pattern simply continues).

Assessment

Explain Tidal’s completion rule and describe a performance scenario where this rule prevents a technical problem from becoming an audible disruption. How does this design choice reflect the priorities of live performance?

“is playing currently continues until a new command has been successfully compiled. What is more, there is a notion of completion, which ensures that execution of a new command begins at a time which is musically appropriate, according to McLean’s particular aesthetic”
corpus · the-oxford-handbook-of-algorithmic-music-mclean-and-dean-eds · chunk 64