The = character is problematic in computer languages because it can mean two different things: 1) compare two values or 2) assign a value to a variable. Almost all traditional languages use a single = to mean assignment and double equal == to mean comparison. MSL is more like a traditional language so it uses this convention.
To change the value of a parameter you use single equal:
quantize = "off"
To compare the value of a parameter to something use double equal:
if quantize == "off"
MOS didn't need this because it had the set statement which didn't require an =. MSL doesn't have set but I may add that back since older users are familiar with it.
The next difference between MOS and MSL is the need to put quotes around "off". In MSL any word that isn't surrounded by quotes is a symbol. There are a few types of symbols, but the most common is a reference to a variable. When the interpreter sees a symbol, it looks to see if one with that name is defined and substitutes the value of that variable in the expression containing the symbol. So quantize is a symbol that will have one of the values off, subcycle, cycle, etc. If you were to write this:
if quantize == off
What the interpreter does is first look up the value for the symbol named quantize and then look up the value for the symbol named off and compare the two values. The problem is there is no symbol named off. When you test the value of the quantize parameter, you need to use what languages call a literal string. These are one or more words surrounded by quotes. When the interpreter sees a word surrounded by quotes it knows that this isn't a reference to the value of a symbol, it's just a string of characters.
In most of the examples I post here, you will also see this syntax:
if quantize == :off
When a word is preceeded by a colon, it means this is a keyword symbol. Keyword symbols are special symbols whose value is just the name of the symbol, in this case "off". There is no difference between the expressions quantize == "off"
and quantoze == :off
but I usually use the second style because it only requires one extra colon character rather than two surrounding quote characters.
I'm sure this sounds strange, but it's fairly common in computer languages for reasons I won't bore everyone with. Although this is common, I'm not entirely happy with it, because it's often a source of confusion for non-programmers.