Concepts
The ideas Makoto is built on, each one explained all the way down.
A systems language is a set of subsystems: execution, types, memory, concurrency, errors. Makoto’s bet is that they compose because they never stain each other. Each page below takes one subsystem and goes all the way down: what it is, why it has that shape, and what it costs.
Every concept also has an essay in the rationale that argues for the decision, names the alternatives that lost, and lists the friction Makoto accepted on purpose.
VerificationGuarantees as a ladder: ownership, refinements, sessions, proofs. Designed, not yet implemented.
MemoryColorless memory: the strategy travels with the object, never with the function touching it.
ProcessesIsolated heaps, contained failures, two schedulers behind one API.
ChannelsTyped channels, select as a match without a subject, deadlines in writing.
SupervisionLet it crash: links, monitors, restart limits, and a tree drawn by how spawns nest.
ErrorsErrors are values: Result plus closed error-sets. No exceptions, no ? operator.
Colorless IONo async, no await: the process suspends, never the function.
ComptimeTypes are compile-time values, and reflection is a library call.
TypesOne decl for struct, enum and interface. Sum types and generics, no lifetimes.