10 discussed, maybe, but I’ve only implemented 5. This thread should contain brainstorming, so it’s natural that many bad ideas may be discussed.
Funny, because I’m sure most people would call
1 + 2 x 7 “normal” and
1 ADD 2 MUL 7 “strange”. The only thing different about TT syntax is that it’s prefix notation, whereas most of us learned infix notation, and some learned postfix.
I can understand being confused by the usefulness of the Modulo function, however. How often do you need to know the remainder of a division versus the quotient in the real world? You’re right that this function is much more familiar to a programmer because it’s very common to calculate offsets.
Short answer, MOD (%) (Modulo) is the remainder. It’s a handy thing to know, and in the context of rhythmic division, it’s handy to know when it’s zero. Consider:
A ADD A 1
IF EZ MOD A 4: TR.P 1
The second line, in English, reads: If there is no remainder when dividing A by 4, pulse trigger 1. Essentially, this is a clock divider that divides by 4, because every fourth integer divides by 4 evenly, and has a remainder of 0.
Warning: Tongue-in-cheek pedantry ahead.
I don’t agree and don’t advocate this, but it’s going to be a consequence when there are already highly complex and questionable features. Despite understanding and loving the concept of the stack, I have never once used it, and I wonder how many users do. Its usefulness is clearly limited, especially considering that you can’t execute a command stack without clearing it – at least then you could use it as a subroutine. Maybe people use it to buffer values or reverse the order of values, but these functions could be done in other ways with existing operators. Even its seemingly unique purpose – buffering commands – could be accomplished by just writing a script with a series of conditionals instead of one conditionally building a stack of commands to be executed in reverse. Additionally, you won’t have to rebuild the script every time you run it.
Complex Limited Utility Duplicates Functionality Other Commands Start With S
Consider a new operator, CHAOS, that returns numbers from a chaotic, yet deterministic formula. You could implement it entirely with existing ops, but you’d chew through dozens of operators and more of your available variables. You put it in a script, so it takes an execution stack slot. Then, you have to copy that one script to every place you want this new source of seemingly-random numbers, which is currently burdensome.
As a reference point, how do you think CHAOS would score as an operator?
I think MZ fits in well with the existing abstraction of EZ NZ, with the exception that MZ is a binary command, and EZ and NZ are unary.
A good point. I generally am ambivalent about the name with the exception of its verbosity, which should be low IMO.
Agreed, although ! was already taken as an alias for EZ.
P.S.: I appreciate everyone expressing their views in this thread!