Операторы
Все операторы преобразуются в соответствующие функции на этапе парсинга запроса, с учётом их приоритетов и ассоциативности. Далее будут перечислены группы операторов в порядке их приоритета (чем выше, тем раньше оператор связывается со своими аргументами).
Операторы доступа
a[N] - доступ к элементу массива, функция arrayElement(a, N).
a.N - доступ к элементу кортежа, функция tupleElement(a, N).
Оператор числового отрицания
-a - функция negate(a).
Для чисел в кортеже также может быть использована tupleNegate.
Операторы умножения и деления
a * b - функция multiply(a, b)
Для умножения кортежа на число также может быть использована tupleMultiplyByNumber, для скалярного произведения: dotProduct.
a / b - функция divide(a, b)
Для деления кортежа на число также может быть использована tupleDivideByNumber.
a % b - функция modulo(a, b)
Операторы сложения и вычитания
a + b - функция plus(a, b)
Для сложения кортежей также может быть использована tuplePlus.
a - b - функция minus(a, b)
Для вычитания кортежей также может быть использована tupleMinus.