The TwineScript desugarer currently maps an is not token sequence into the isnot token.
This mapping has been in the desugarer since time immemorial and was done in an attempt to help end users. Code comment:
If the token is is, check to see if it's followed by not, if so, convert them into the isnot operator.
NOTE: This is a safety feature, since $a is not $b probably sounds reasonable to most users.
The mapping means that actual attempts in TwineScript to do is not are doomed to failure. Though, I'm unsure how plausible it is that anyone would attempt something like that.
Still, the mapping needs to either be documented or removed. I'm partial to the latter, because screw weird special cases.
The TwineScript desugarer currently maps an
is not
token sequence into theisnot
token.This mapping has been in the desugarer since time immemorial and was done in an attempt to help end users. Code comment:
The mapping means that actual attempts in TwineScript to do
is not
are doomed to failure. Though, I'm unsure how plausible it is that anyone would attempt something like that.Still, the mapping needs to either be documented or removed. I'm partial to the latter, because screw weird special cases.