Version: dev

compiler

Stable type · Simulation

Tier: stable · Kind: type · Topic: Simulation

JuliaTypeScriptPythonRustGo
not exportedoutside profileCompilerCompileroutside profile

Julia

Julia does not export this type.

Planned: API_SPEC.md §8 item 21: esm_problem gains a compiler keyword over the closed vocabulary interpreter / native / xla / mtk / sympy (§5.8), defaulting to a strict native, and every Problem exposes compiler and compiler_report. Julia compiler::Symbol, Python compiler: str | None, Rust ProblemOptions.compiler: Option<Compiler> over a new Compiler enum.

TypeScript

Not available in TypeScript. TypeScript is outside the simulation capability profile (Julia, Python, Rust): build an RHS and integrate it; TypeScript and Go are deliberately non-simulating.

Python

Compiler = Literal['native', 'interpreter', 'xla', 'mtk', 'sympy']

The type a caller’s compiler keyword takes.

Source

Rust

pub enum Compiler {
    Native,
    Interpreter,
    Xla,
    Mtk,
    Sympy,
}

impl Compiler { pub fn as_str(self) -> &'static str }

impl Compiler { pub fn parse(name: &str) -> Option<Compiler> }

impl Compiler { pub fn parse_named(name: &str) -> Result<Compiler, String> }

impl Compiler { pub fn is_strict(self) -> bool }

impl Compiler { pub fn vocabulary() -> &'static [Compiler] }

Which strategy builds a Problem’s right-hand side (API_SPEC §5.8, esm-libraries-spec §2.5.10).

The vocabulary is CLOSED and the same in every binding. A value this binding does not provide is REFUSED — never answered by quietly selecting another one, because the point of naming a compiler is that the caller knows which one ran.

Source · Rust docs

Go

Not available in Go. Go is outside the simulation capability profile (Julia, Python, Rust): build an RHS and integrate it; TypeScript and Go are deliberately non-simulating.