home/ atoms/ tidal-operators-vs-strudel-methods

Tidal combines patterns with operators; Strudel chains methods, so pasting Tidal operator syntax into Strudel throws

The number-one porting error between Tidal and Strudel is syntax paradigm confusion. Tidal combines patterns with infix operators: sound “bd” # speed 2. Strudel uses method chaining: s(“bd”).speed(2). Pasting Tidal operator syntax (#, |+|, |>|) into Strudel throws undefined or parse errors because Strudel has no such operators. Porting therefore means rewriting every operator as a chained method call. Recognising which side you are on — operators vs dot-chains — is the first check when a ported pattern fails to parse.

Examples

// Tidal — uses operators: sound “bd4” # speed 2 // Strudel equivalent — uses method chain: s(“bd4”).speed(2) // Pasting Tidal # / |+| into Strudel throws

Assessment

Rewrite the Tidal pattern sound “bd” # speed 2 in Strudel, and explain why pasting the Tidal form into Strudel throws.

“Tidal combines with operators; Strudel chains methods.** `sound "bd" # speed 2` in Tidal becomes `s("bd").speed(2)` in Strudel. Pasting Tidal `#`/`|+|`/`|>|` into Strudel throws.”
context/ · L1-instruments/tidal/gotchas.md · chunk 1