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
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?
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