The Leo Language Reference
Statically Typed
Leo is a statically typed language, which means we must know the type of each variable before executing a circuit.
Leo does not support undefined or null values. When creating a new variable, its type must be either:
- Explicitly stated using a type annotation, or
- Automatically inferred by the compiler.
Pass by Value
Leo always passes expressions by value. Thus, it copies expression values when they are function inputs or appear on the right side of assignments.