Imported from elle-lisp/elle (
docs/impl/AGENTS.md). Install upstream withnpx skills add elle-lisp/elle --skill impl. Copyright stays with the author.
impl
Generated by scripts/agents. Edit a document, never this index.
Up: ..
Documents
- agents.md — The generated index Every directory's
AGENTS.mdis built from the call-out of each document beneath it, so the index cannot rot or be posted to. - audit.md — The audit queue Every file carries the day it last met the documentation policy, and the queue names what to read next by what a stale file costs.
- bytecode.md — Bytecode The bytecode instruction set is a
repr(u8)enum. - differential.md — Differential Tier Testing Elle compiles closures through up to five execution tiers:
- dissolution.md — Dissolution — HOF loop fusion (more...)
- escape.md — Escape analysis — the authoritative true-escape pass (more...)
- fleet.md — Fleet — adhoc distributed execution over images (more...)
- gpu.md — GPU Compute (more...)
- hir.md — HIR — High-level IR The HIR pass converts expanded syntax trees into a typed intermediate representation.
- image.md — Images — regions hydrated at load Design for image-style persistence: one mechanism, two shipped configurations.
- io-descriptor.md — Descriptors and workers What a
port/closeretires, how it wakes the operations still holding the descriptor, and how the thread pool reuses a worker. - io-inflight.md — An operation in flight What a submitted I/O operation holds and owns, how it ends when the fiber that asked is gone, and how its answer is assembled.
- jit.md — JIT The JIT compiles hot functions from LIR to native code using Cranelift.
- lexicon.md — Lexicon: epoch-aware lexing An epoch selects the lexer rules that tokenize a file, so a breaking change can reach below the syntax tree to the tokens themselves.
- lir.md — LIR — Low-level IR LIR is an SSA-form intermediate representation with virtual registers, basic blocks, and explicit control flow.
- mlir.md — MLIR Backend (more...)
- reader.md — Reader The reader transforms source text into syntax trees.
- selfrec.md — Self-recursion: the executing-closure mechanism (no cell) How a self-recursive closure refers to itself without a forward cell, and is reclaimed by ordinary region RC.
- spirv.md — SPIR-V Backend (more...)
- stdlib-cache.md — Standard Library Disk Cache
stdlib.lisp(~2900 lines) is recompiled on every process start. - symbol.md — Symbols and keywords — identity is the name hash A
SymbolIdis the 64-bit FNV-1a hash of the symbol's name. - syntax.md — Syntax — a region-native immutable tree The pre-analysis tree the reader produces, the expander rewrites, and the analyzer consumes.
- typeinfer.md — Type inference: the ascent, and what a call proves Where the types come from: an ascent from below whose limit is the least fixpoint, and what each kind of call contributes to it.
- values.md — Values Every Elle value is a 16-byte tagged union: an 8-byte tag and an 8-byte payload.
- vm.md — VM The VM is a stack-machine interpreter that executes bytecode.
- wasm.md — WASM Backend The WASM backend compiles Elle programs to WebAssembly and runs them under Wasmtime, over the same front end the bytecode VM uses.
Directories
- image/ — The image file, Foundations, What the experiments measured, Landing order and test plan, Sealing
- region/ — Ownership adopts and the root's lifetime obligation, Where a release is anchored, Reassigned mutable bindings are 1-slot containers, Capture cells, What a region-effect declaration buys, Per-arm compensation, NativeCtx — explicit allocation: every value names its region and heap, Region diagnostics and validation, Native region effects: declared, not guessed, Rich errors — one region-coherent struct routine +
rich_error!, Region generations: stale derefs detonate in debug builds, The letrec closure-cycle merge, The mechanism, Merging, Region representation — id-spaces, per-execution model, layout, Owner nodes — an activation as a forest root, Adoption and subtree drop (the ownership forest), What a park retains, and who releases it, Reads of a 1-slot container, A release past a frame-replacing tail call, The relocation point and its replicas, Region rules — the implementor's correctness obligations, What a signal exit owes, Code objects — a blueprint, a payload, and a header, An abandoned frame runs the releases it still owes, The branch-arm release window