Skip to main content
Version: 4.0.2

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.