2.2.2 Boolean Operations

These are the Boolean operations, ordered by ascending priority:  

Operation  Result  Notes 
x or y if x is false, then y, else x (1)
x and y if x is false, then x, else y (1)
not x if x is false, then 1, else 0 (2)


These only evaluate their second argument if needed for their outcome.

"not" has a lower priority than non-Boolean operators, so not a == b is interpreted as not (a == b), and a == not b is a syntax error.

See About this document... for information on suggesting changes.