Expressions

Expressions produce values.

Literals

Integer

42

Float

3.14159

Boolean

true
false

String

"Hello"

Identifiers

Variables can be referenced by name.

let x = 10;
let y = x + 5;

Binary expressions

let result = a + b * 2;

Function calls

A function call consists of a function expression followed by arguments in parentheses.

let result = add(10, 20);

Arguments are separated by commas.

print(x, y, "done");

Array indexing

An array element can be accessed with [].

let values: [int] = [10, 20, 30];

let x = values[0];

Index expressions can themselves be expressions.

let i = 1;
let x = values[i];

Expression statements

An expression can appear as a statement, for example a function call:

print("Hello");