Boolean Operators perform various operations on the terms specified. There are several different types of operation available.
| Symbol | Type | Name | Description | Example |
|---|---|---|---|---|
| Bitwise | ||||
| ?& | Infix | AND | True if left and right terms are true | a ?& b |
| ?| | Infix | OR | True if left or right terms are true | a ?| b |
| ?^ | Infix | XOR | True if left or right terms, but not both, are true | a ?^ b |
| ?^ | Prefix | NOT | Inverts the value of the term | ?^ a |
| Type Casting | ||||
| ? | Prefix | Cast | Converts the term to a Boolean | ?a |
| ! | Prefix | Inverse cast | Converts the term to a Boolean, and inverts the value | !a |
| Type Checking | ||||
| is | Infix | IsType | Checks if the value of the left term is of the type specified by the right term | a is boolean |
Each Operator will evaluate the terms provided as appropriate to the Operator value type - for instance, performing a boolean bitwise OR on two Numbers will convert the Numbers to Booleans first.