Future work roadmap

Executive summary

inauguration is becoming a general hybrid compiler: many source fronts can lower into shared Core IR, then reuse one SIL-oriented driver and hybrid_sil pipeline. The current model is layered: full parsers (.in, .icore) own rich grammars and semantics; dedicated Rust/Go/V/OCaml fronts already lower real declarations plus bounded body subsets; selected Tree-sitter polyglot fronts now lower bounded scalar bodies through shared AST conventions, while many other routed extensions remain declaration-level. Parser ids without a compatible grammar still route contributors to .icore.

The near-term goal is not to finish every language at once. It is to keep parser routing, Core IR, SIL lowering, hot reload, and rust-driver parity moving together so each Tree-sitter front can deepen (statements, types, diagnostics) without forking the pipeline.

Done recently

Phased roadmap

Trackv0 near-termv1 direction
Per-language semanticsDeepen dedicated Rust/Go/V/OCaml fronts from body subsets into richer CFG-aware lowering; in parallel, widen the generic Tree-sitter AST convention layer and promote declaration-only fronts when they can share it.Dedicated semantics / typecheck layers per language family where overlap allows shared infrastructure.
icore evolutionKeep icoreVersion: 1 stable for declarations and empty bodies, and keep icoreVersion: 2 statement / expression JSON covered by fixture-driven lowering tests.Grow current Boundary IR work around icoreVersion: 3, versioned compatibility rules, ABI verification, and dedicated boundary-front emitters.
rust-driver parity with in-cliMirror parser ids, Core IR contracts, and SIL lowering behavior as fronts stabilize.Reduce drift by extracting shared crates or generated contract tests across in-cli and compiler/rust-driver.
hybrid_sil correctnessPreserve the current merged textual SIL contract while tests pin call-graph behavior.Model multiple functions explicitly: stable function_ids, per-function blocks, and graph extraction that does not depend on the last sil @... line.
Hot reload semanticsCompile-check routing understands Core IR fronts and Tree-sitter polyglot parses.Move beyond "can this compile?" into patch semantics: dependency-aware invalidation, graph-aware reload decisions, and frontend-specific diagnostics.
Swift subset / native SILKeep the subset as a fast, bounded path with swiftc fallback for full language behavior.Grow richer Swift subset parsing over shared Core IR AST nodes, type checking, and native SIL emission so common Swift workflows avoid swiftc without pretending to cover all Swift semantics.

v0 focus

v1 targets

See also