Skip to main content

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

Expressions in Leo are always passed by value, which means their values are always copied when they are used as function inputs or in right sides of assignments.