Skip to content
La3 Docs
Browse docs

Project Structure

A map of the compiler repository so new contributors know where each concern lives.

Root files

The repository root carries the project contract: the overview, the compiler roadmap, and the language reference.

  • The overview explains the current build, usage, examples, and implemented features.
  • The compiler roadmap is the living phase plan with current state, decisions, and blockers.
  • The language reference is the source of semantic truth for syntax and meaning.
  • The dynamic stdlib design describes the a-la-carte standard library model for later implementation.

src tree

The Rust sources are split by compiler concern, not by UI or file type.

  • Lexer and parser own surface syntax.
  • checker.rs, typeck.rs, and borrow checking own static semantics.
  • hir.rs and mir.rs hold the IRs and lowerings.
  • interp.rs is the execution oracle that keeps behaviour honest.

Runtime and tests

The runtime and the test suite are treated as first-class parts of the language story.

  • runtime/ is the native runtime crate the compiled programs will link against.
  • The tests exercise syntax, type checking, ownership, HIR, MIR, and code generation stages.
  • Differential testing keeps the interpreter and native compiler aligned.

Examples and docs

The docs and examples reinforce one another instead of living separately.

The examples directory is part tutorial, part regression suite. Each sample demonstrates a real part of the language rather than a synthetic benchmark.