I always use the words (not symbols) on teletype. I wrote TT scripts that way for over a year & it just feels natural. I dislike the ; but I did use it the other day when i needed to put 7 commands in a test script. I also find myself using SCRIPT x to chain longer scripts, but I wish I was calling a named function (so I knew what the hell it was going to do).
Regarding the whole MZ discussion, I would think of it less in terms of how MZ is implemented, and more in terms of what MZ does. When Iām abstracting C code I name my functions what they do because at that point I donāt care how itās done.
Thus! I suggest MZ should be called something more like EVERY:
IF EVERY x y: <cmd> // at every xāth value of y, do
Itās not quite perfect (kind of implies the counter is built in) - but it gets more directly at the single use-case that Iāve seen proposed for the function. Does the MZ op have any other proposed use case?
// edit
I wonder if, instead of thinking how to make abstractions of existing ops, we look at desired functionality more directly. Perhaps we donāt need any of the above, but instead a new PRE, that internally counts triggers, and only fires every nth trigger? Is that the use-case weāre talking about?
EVERY 3: <cmd> // executes the command every 3rd time