Runtime

Interpreter and LLVM

Choose the execution path that matches the feature set you use.

01

Interpreter

sun run is the reference execution path for the current language surface: control flow, functions, sessions, CSV, graphics hosts, exceptions, slicing, and parfor.

02

LLVM backend

sun compile generates native executables through LLVM/Clang. Tests confirm scalar arithmetic, five scalar math functions, fixed nonempty matrices, selected matrix operations, disp, and dynamic 1-based 2D reads and writes.

  • Scalar: +, -, *, /, unary signs; sqrt, sin, cos, exp, log
  • Matrices: literals, same-shape + and .*, matrix product, scalar multiply/divide
  • Indexing: 1-based 2D scalar reads and assignments, including dynamic scalar indices
  • Not supported: control flow, user functions, exceptions, ranges, slices, linear indexing, constructors, reductions, CSV, or graphics
03

Source of truth

Source note

Some README status sentences lag the LLVM tests. This page follows codegen tests at the audited commit and keeps that distinction explicit.