HyperFun: Operators and Expressions

There are two types of expressions permissible in the language: 'functional' expression and 'logical' expression.

The logical expression is built of functional expressions as its arguments, with using relational and boolean operators. The functional expression value '0' is treated as boolean 'false'; other values are treated as 'true' in the logical expressions.

There are the following relational operators:

'<', '>', '<=', '>=', '=', '/='.

There are two infix boolean operators ('and', 'or') and one being used in prefix form ('not').

i < 4;

(x[1] = a[1] and (2 <= xx[3] < 5.5))

In both kinds of expressions, parentheses can be used by a traditional manner and are recommended for usage to make expressions structure more clear. The rules of precedence in the expressions are also traditional. Note only that the special geometric operators have lower precedence (and accordingly are executed later) than the arithmetic operators.