Stator documentation
TypeScript and JavaScript to native binaries — an ahead-of-time compiler where typed code becomes unboxed machine values.
TypeScript and JavaScript to native binaries — an ahead-of-time compiler where typed code becomes unboxed machine values.
14 pages from pyrlyn/stator/docs at 2f94229, in development
Paths into the docs
Pick where to go next.
-
Start4 pages
- How it works Getting started commands also live in the project README. Spec authority for open work is plan.md; diagrams are in ARCHITECTURE.md.
- Modes This document operationalizes plan.md §1 "Product spec — the two modes." On conflict, plan.md wins; contradictions are reported in plan-notes.md.
- Configuration Every option stator build and stator explain take can come from a JSON file, from the command line, or from both (plan.md §9 Task 6.18, plan-notes 303).
- Toolchain The pinned toolchain (plan.md §4 Task 1.0 step 2). Differential ground truth is the Node in .node-version — that Node and only that Node.
-
Language7 pages
- Feature support This document specifies which language features Stator compiles in each mode, and how. The four verdict values are.
- Numeric semantics The one-sentence summary: every JavaScript number is an IEEE-754 double, and i32 is an invisible optimization that must never be observable. Every rule in this document exists to keep that second clause true.
- The std library std is a first-party systems-style standard library, not a Node compatibility layer and not user FFI (Phase 7).
- Node API coverage
- Calling C
- Bundler (js mode)
- Diagnostics
-
Internals3 pages
- Architecture Getting started is the project README. This file is the diagram gallery.
- HIR This document is normative. The Stator compiler produces and transforms one intermediate representation: a typed, structurally-scoped HIR with explicit type information on every node.
- Value representation This document is normative. runtime/include/jsrt_value.h mirrors it exactly; where the two disagree, this file is right and the header is a bug. Per plan.md §5 Task 2.1, no C may be emitted before this document merges —…