flowchart LR A["Agent or human"] --> S["Source + package intent"] S --> C["Canonical CoreForm"] C --> K["Pure Gλ kernel"] K -->|"sealed EFFECT"| R["Deny-by-default runner"] R --> H["Explicit host operation"] H --> L["Deterministic log + evidence"] L -->|"replay / verify"| A
GenesisCode
A language agents can reason about.
176frozen symbols
188host operations
201diagnostics
350authority sources
Start in fifteen minutes
The shortest honest path is build, run one pure module, then inspect its canonical result. Nothing in this first program receives ambient filesystem, network, process, clock, or model access.
- Verify the pinned toolchain.
- Build the production CLI.
- Evaluate through the selfhost engine.
- Continue into effects only when the pure boundary is clear.
cargo build -p gc_cli --locked
./target/debug/genesis eval hello.gc --engine selfhost(def greet
(fn (name)
(prim str/concat "hello, " name)))
(greet "agent")"hello, agent"
Choose your path
Learn the mental model
Start with CoreForm, immutable data, functions, modules, and the boundary between pure evaluation and host effects.
Ship a real workflow
Use packages, capability policies, deterministic logs, replay, tests, and evidence-backed acceptance.
Look up anything
Search every symbol, host operation, diagnostic, CLI surface, format, example, specification, and schema.
One execution model, visible end to end
The same identities connect source, policy, diagnostics, logs, replay, and acceptance evidence. An agent can retrieve a compact task card first, then expand only the exact symbol or failure record it needs.
What makes it different
The kernel never performs filesystem, time, network, process, graphics, GPU, or LLM work. Programs describe effects; a deny-by-default host runner decides, records, and can replay them. Seals make protocol values unforgeable. Canonical forms and hashes make artifacts comparable. Obligations make acceptance evidence explicit.
| Layer | Responsibility | Trust posture |
|---|---|---|
| Gλ kernel | Evaluate immutable CoreForm, closures, primitives, and seals | Pure, deterministic, minimal TCB |
| Prelude | Contracts, effect programs, standard helpers, protocol constructors | Trusted language layer |
| Effect runner | Enforce capabilities, execute hosts, log facts, replay | Deny by default |
| Toolchain | Format, typecheck, test, patch, package, optimize, build | Selfhost-first and evidence-gated |
| Agent layer | Compact cards, exact lookup, plans, safe repair | Machine-readable and bounded |
Replayable decisions
Effect logs retain the facts needed to reject policy, schedule, input, or result drift during replay.
Agent-sized retrieval
Core cards, task cards, symbol indexes, stable diagnostics, and JSON schemas prevent whole-manual context flooding.
Know what is ready
GenesisCode is intentionally labeled pre-1.0. Capability maturity, compatibility, and evidence are published rather than implied. Use the feature matrix to distinguish implemented, experimental, partial, and planned surfaces; use the roadmap for work that is not yet complete.
Use nowPure evaluation, canonical forms, explicit effects, capability policy, deterministic logs and replay, packages, structured diagnostics, and bounded agent workflows. Evaluate carefullySelfhost closure, performance tiers, broad platform targets, registry GA, flagship applications, and the remaining v1 guarantees.
Documentation is part of the product
This site does not replace the repository specifications. Curated pages teach; generated references enumerate; canonical Markdown and JSON remain authoritative. Every page links back to source, and CI rejects stale generated catalogs or a broken render.
Learn how to use this site · Read the documentation topology · Inspect compatibility · Follow the roadmap