Skip to main content
Version: master

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.