Reference

Logic

And (Short-Circuit)

Input Two boolean arguments.
Output True if both arguments are true. False otherwise.
Evaluation Short-circuit (lazy) - the second argument is only evaluated if the first is true

Signature

bool_and(a: Boolean, b: Boolean): Boolean

Example

bool_and(true, false) // returns false

And (Strict)

Input Two boolean arguments.
Output True if both arguments are true. False otherwise.
Evaluation Strict (eager) - both arguments are always evaluated

Signature

bool_andStrict(a: Boolean, b: Boolean): Boolean

Example

bool_andStrict(true, false) // returns false

Or (Short-Circuit)

Input Two boolean arguments.
Output True if at least one argument is true. False otherwise.
Evaluation Short-circuit (lazy) - the second argument is only evaluated if the first is false

Signature

bool_or(a: Boolean, b: Boolean): Boolean

Example

bool_or(true, false) // returns true

Or (Strict)

Input Two boolean arguments.
Output True if at least one argument is true. False otherwise.
Evaluation Strict (eager) - both arguments are always evaluated

Signature

bool_orStrict(a: Boolean, b: Boolean): Boolean

Example

bool_orStrict(true, false) // returns true

Xor

Input Two boolean arguments.
Output True if exactly one argument is true. False otherwise.

Signature

bool_xor(a: Boolean, b: Boolean): Boolean

Example

bool_xor(true, false) // returns true

Not

Input One boolean argument.
Output True if the argument is false. False if the argument is true.

Signature

bool_not(a: Boolean): Boolean

Example

bool_not(true) // returns false