Practice
The other tracks describe the system. This one describes working on it — the practices that keep the codebase the shape the principles describe, and the tools you reach for while doing it.
Nothing here is a separate body of text. Every page below lives in the track it belongs to and keeps its own address; this is a reading order, gathered because someone arriving to make a change should not have to find these pages one at a time.
Start here
- Principles — what the system is, and the small number of commitments everything else follows from. Read this before the page below it.
- Guide for Implementors — how to work on the runtime, the shop, and the compiler: pit over C, named refusals, docs-first, guard comments, lifetimes, and the C safety rules that are not optional.
Targets and builds
- Recipes — the file that is a target. Inventing a target is writing one of these.
- Building C — the runtime builder, the arms, and how to declare C without writing a cake.
- Writing C Modules — the module ABI and the full GC-safety reference for C that touches ƿit values.
When it goes wrong, and when it ships
- Debugging — debug information, what the runtime will tell you, and how to get it to tell you.
- Nightly Distribution — what CI
produces on every push to
dev, and what a nightly package contains.
What is being worked on
Practice is durable; the work is not. What is in flight right now — live plans, carried defects, the working method, and the record of what has already been ruled — is in State.