Language Reference: Booleans
Boolean (true and false) values and logical operators
Pointless includes boolean (true and false)
values, which let us write code that performs logical calculations.
See the standard library Bool module for built-in functions for working with boolean values.
Syntax
In Pointless, booleans are accessible through keywords.
true
false
Operators
Pointless provides the following operators for constructing logical expressions.
true and false -- Logical "and", true when both operands are true
true or false -- Logical "or", true when either operand is true
not true -- Logical "not", true when operand is false
false
true
false
Short Circuiting
Note that the and and or operators are
short circuiting, meaning that they only evaluate their second (right-hand) operand
if the result of the expression cannot be determined by the initial
(left-hand) operand.
fn isPositive(n)
print("ran isPositive")
n >= 0
end
fn isWhole(n)
print("ran isWhole")
n % 1 == 0
end
-- First operand is false so the second won't be evaluated
isPositive(-1) and isWhole(-1)
ran isPositive
false
-- First operand is true so both operands are evaluated
isPositive(1.5) and isWhole(1.5)
ran isPositive
ran isWhole
false