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.