Skip to main content
Version: 8.6

Control flow

If conditions

if c then a else b

Executes the expression a if the condition c evaluates to true. Otherwise, it executes the expression b.

if 5 < 10  then "low" else "high"
// "low"

if 12 < 10 then "low" else "high"
// "high"
good to know

If the condition c doesn't evaluate to a boolean value (e.g. null), it executes the expression b.

if null then "low" else "high"
// "high"

For loops

for a in b return c

Iterates over the list b and executes the expression c for each element in the list. The current element is assigned to the variable a. The result of the expression is a list.

If multiple lists are passed to the for loop then it iterates over the cross-product of the elements in the given lists.

for x in [1,2,3] return x * 2
// [2,4,6]

for x in [1,2], y in [3,4] return x * y
// [3, 4, 6, 8]

While iterating over the list, the previous elements are assigned to the variable partial.

for i in 1..10 return if (i <= 2) then 1 else partial[-1] + partial[-2]
// [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

Instead of a list, the for loop can also iterate over a given range.

for x in 0..8 return 2 ** x
// [1, 2, 4, 8, 16, 32, 64, 128, 256]

for x in 3..1 return 2 * x
// [6,4,2]