Expressions

Any expression in o42a either constructs a new object, or addresses an existing one.

An expression is one of:

Grouping Expression

A grouping expression is any expression enclosed into parentheses. It can be used e.g. to change the priority of operators:

(a + b) * c ~~ Multiply the sum of `a` and `b` by `c`.

There is a special syntax to avoid the use of parentheses at the very beginning of expression:

Some expression\ another expression

which is the same as

(Some expression) another expression

Such syntax is especially useful with combination of subsequent phrases, in order to distinguish one from another:

"Some string": substring _from [5]\ [1] ~~ "t"
~~ This is the same as following:
("Some string": substring _from [5]) [1]

Note that the grouping expression has higher priority than any operator, so it works for its operands, not for the whole operator:

a + b\ c * d
~~ The above expression is the same as:
a + (b\ c) * d
~~ or, more precisely:
a + ((b _c) * d)