Every Strudel mini-notation pattern has an equivalent JS function form, but mini-notation has only a handful of modifiers
In Strudel everything is made of functions, and every mini-notation construct has a direct JavaScript function equivalent that produces the identical pattern. Which to use is contextual: mini-notation is concise for individual rhythms, while JS functions suit larger compositional contexts. Mini-notation exposes only a handful of modifiers (* / ! @), whereas the JS functions give the full pattern algebra. A concrete limit: mini-notation’s comma (stack) cannot combine elements that carry different sound sources, so mixing a .s('sawtooth') line with an s('bd') line forces you to use the JS stack() function instead.
Examples
stack( note(“c2 eb2(3,8)“).s(‘sawtooth’).cutoff(800), s(“bd(5,8), hh*8”) ) // the comma works inside a single s(), but stacking a sawtooth line with a // kick line needs the JS stack() function
Assessment
Write "c3 e3 g3" as mini-notation and as a JS function call. Then try to stack a sawtooth bass with a kick using only mini-notation and explain why it fails.