Square brackets in Punctual create combinatorial expansion — use curly braces or colon-ops for pairwise behavior
In Punctual, [x1, x2] in an argument position creates a combinatorial expansion: every combination of argument values produces a separate output channel. For example, circle [x1,x2] [d1,d2] generates four circles (2×2), not two. This can rapidly multiply audio channels or produce unexpected numbers of shapes. For pairwise behavior (applying the first value to the first argument and second to second), use {x1, x2} or colon-suffixed operators like circlep or +:. To normalize channel count after expansion, use mono or splay n.
Examples
circle [0.2, 0.8] [0.3, 0.5] → 4 circles (all combinations). circlep [0.2, 0.8] [0.3, 0.5] → 2 circles (paired).
Assessment
Explain the difference between [a, b] and {a, b} in Punctual arguments. What does circle [x1, x2] [d1, d2] produce, and how would you change it to get exactly 2 circles?