Don’t want to throw off momentum, but I’m not sure why we can’t do complex polyrhythms with modulo or a variation on it, but can do them with a per-line context operator?
1:
EVERY 2: TR.P 1
EVERY 4: TR.P 2
EVERY 6: TR.P 3
Seems functionally equivalent to:
1:
X + X 1 # moving this from M in my other example so that the count is local to the script.
EVERY 2 X: TR.P 1
...
Just with one extra line (incrementing X). If you wanted to create polyrhythms, you would add a 2 script that was similar, but called on a different rhythm. If the issue is running out of variables (likely) does it make more sense to increase the number of variables rather than introduce a new language paradigm?
What about LOCAL X; X + X 1 that allows a script scoped local variable? That could have utility beyond this example.
I’m not necessarily advocating one over the other, just interested in what I’m missing.