I quickly looked at snipets and by what I can tell, those two statements should be equivalent
The order of operations would have the not expressions be evaluated first and then the and statement
Since you are inverting the boolean expressions, the and statement should always eval to false.
In my head I can see what sesame is really doing is this :
If NOT (False AND NOT True) Then
WriteLn( "Why am I here?" )
It appears that sesame isn't following order of operations for whatever reason and is just going straight across the expression
I dusted off the sesame programming manual and it says that it evals not before and expressions
Most of these don't apply to sesame obviously but should show how the order of operations should go:
Simple Assignment Operator
= Simple assignment operator
Arithmetic Operators
+ Additive operator (also used for String concatenation)
- Subtraction operator
* Multiplication operator
/ Division operator
% Remainder operator
Unary Operators
+ Unary plus operator; indicates positive value (numbers are positive without this, however)
- Unary minus operator; negates an expression
++ Increment operator; increments a value by 1
-- Decrement operator; decrements a value by 1
! Logical compliment operator; inverts the value of a boolean
Equality and Relational Operators
== Equal to
!= Not equal to
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
Conditional Operators
&& Conditional-AND
|| Conditional-OR
?: Ternary (shorthand for if-then-else statement)
Type Comparison Operator
instanceof Compares an object to a specified type
Bitwise and Bit Shift Operators
~ Unary bitwise complement
<< Signed left shift
>> Signed right shift
>>> Unsigned right shift
& Bitwise AND
^ Bitwise exclusive OR
| Bitwise inclusive OR
as parenthesis, they should be used to make the code clearer and easier to follow, just blindly adding them when in doubt isn't a good practice to follow.