Browse docs
La3 Docs
A practical map for reading and extending La3 itself. Start with the language surface, then move into the compiler, the runtime, and the stdlib model without losing context.
Start Here
Language
Syntax and Lexing
Tokens, comments, semicolons, identifiers, literals, and precedence rules.
Types and Values
Primitive types, compound values, inference, unions, absence, and casts.
Functions and Control Flow
Definitions, closures, if, match, loops, ?, and the reader-facing control style.
Data Structures
Structs, enums, patterns, lists, maps, sets, tuples, and arrays.
Language Reference
A denser reference for the surface syntax, value model, and the rules that make examples readable.
Interfaces and Generics
How La3 describes reusable APIs, explicit conformance, and type parameters.
Operators and Expressions
Precedence, arithmetic semantics, optional operators, casts, assignment, and expression values.
Patterns and Matching
Exhaustive matching, destructuring, ranges, guards, bindings, and pattern-driven control flow.
Error Handling
Recoverable failures, Result<T>, Option<T>, propagation, and exception boundaries.
Collections and Strings
Lists, maps, sets, slices, string methods, formatting, and byte conversion.
Concurrency
Cooperative interpreter tasks, channels, spawn, join, await all, and race.
Semantics
Ownership and Memory
References, raw pointers, moves, borrows, and deterministic drops.
Modules and Stdlib
Module visibility, imports, and the a-la-carte standard library model.
Type Checker
Inference, operator typing, field and method resolution, casts, exhaustiveness, and bounds.
Borrow Checker
Move semantics, borrow regions, aliasing rules, dangling references, drops, and MIR refinement.
Stdlib Reference
The documented surface for core modules: io, fs, os, json, math, bytes, strings, and collections.
Compiler
Compiler Overview
From parse trees to native binaries, and why MIR exists as a separate lowering layer.
Dynamic Stdlib
The a-la-carte standard library design for granular and monolithic builds.
Compiler Phases
The phase map from frontend checks through HIR, MIR, runtime, codegen, and later stdlib work.
Runtime and Linking
How the native runtime, exported symbols, linking, and native binaries fit together.
HIR
Typed tree lowering, binding ids, desugaring, closure captures, and why HIR exists.
MIR
Control-flow graphs, locals, places, rvalues, terminators, match trees, and ownership lowering.
LLVM Backend
The native backend, scalar codegen, aggregate layout, control flow, objects, and executable linking.
Dynamic Stdlib Resolver
Modules, capabilities, fallbacks, providers, present sets, resolution, and conformance.