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

EN / PT: LU and Cholesky

EN: lu and chol have no native LLVM lowering; use sun run. PT: lu e chol nao possuem suporte LLVM nativo; use sun run.

03

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
04

Support boundaries

Source note

Interpreter availability does not imply native support. Multiple assignments, project function loading, element-wise power and postfix transpose require the interpreter in this snapshot. A\B, mldivide, solve, inv, det, lu, chol, qr, lsqminnorm, rank, cond, svd and pinv have no native LLVM lowering: use sun run. PT: Operador A\B e essas funcoes de algebra linear exigem sun run, sem suporte LLVM nativo; a ABI C permanece igual.

Sun is proprietary software under experimental development. Documentation scope: Sun 0.6 development snapshot.