Documentation
Using Kest
- Getting started: building, the first program, running and checking it.
- Language basics: files, names, numbers, operators and control flow.
- Data: structs, arrays, stores and references, enums, flags, optionals and vectors.
- Text: strings, building text, walking it, and where Unicode stops.
- Functions: overloading, generics, function values, blocks and bodies that wait.
- Promises:
no.alloc, no.host and deterministic, and how the compiler proves them.
- Determinism: the profile, and what makes a program compute the same world everywhere.
- Standard library, and the reference
kest doc writes for every module.
- Embedding: a host, the C API, doors and machines.
- Host memory: lending, worlds across frames, and reloading a running game.
- Running untrusted code: ceilings, budgets and what a host must keep for itself.
- Release builds: the C backend and shipping one binary.
- Command line and Diagnostics.
- Editions and versions: what each version number promises.
- Coming from Lua or Rust.
- Examples: what each program under
examples/ shows.
How it works
- Overview: the pipeline and how the parts fit.
- Glossary.
- Language design: the rules the language is built on and what was rejected.
- Front end, Checking, Compiler, Verifier, Machine, Memory, C backend.
- Host boundary, Sandbox, Determinism.
- Tooling: diagnostics, JSON, the language server, the debugger and
kest doc.
- Performance: where Kest stands, what dominates, and what was measured and rejected.
Maintaining it
- Development: toolchain, builds, switches and source conventions.
- Checks: the local tiers, what the gate holds, CI and fuzzing.
- Debugging: the checking build, switches and fuzz findings.
- Benchmarks: taking the numbers in
bench/ again.
- Release.