Language for Agents
A programming language where the graph is the program. Humans ask for outcomes. Agents query the program graph, submit checked edits, and prove the result.
$ curl -fsSL https://zerolang.ai/install.sh | bash
Asks for an outcome #
Build a CRM API, add auth, or fix a failing route
Uses Graph #
Symbols, calls, types, effects, node IDs, and graph hashes
Checks patches #
Shape, type, stale-state, and repository metadata checks
Reviews projection #
Readable .0 projections stay available for review and rare manual edits
Expect breaking changes. Run it in a safe environment, not against production systems.
Start with a request. #
The expected workflow is a normal conversation. The graph discipline lives in the agent skills and compiler commands, not in stiff human prompts.
Tighter agent loop. #
A traditional loop writes text, then runs tools to learn what the edit meant. Zerolang puts the compiler in the loop, so an edit is a checked change to the graph.
Checked by default. #
Graph patches target semantic nodes and fields, guarded by graph hashes and expected values. Stale or invalid edits fail before they touch the store.
zero patch \
--expect-graph-hash graph:a7f7e6899a73f3b4 \
--op 'set node="#expr_653eeb6e" \
field="value" \
expect="hello from zero\n" \
value="hello graph\n"'
- graph hash
- graph:b3c1d04f
- node
- #expr_653eeb6e
- field
- value
- symbols
- main
- projection
- src/main.0
The program database. #
Readable text stays useful for review. The compiler-owned graph is the program database agents edit and the compiler consumes.
zero-graph v1
origin source-text
module "hello"
hash "graph:a7f7e6899a73f3b4"
node #decl_ad8d9028 Function name:"main" type:"Void" public:true fallible:true
node #param_4610ae76 Param name:"world" type:"World"
node #expr_c403020c MethodCall name:"write" type:"Void"
node #expr_653eeb6e Literal type:"String" value:"hello from zero\n"
edge #expr_c403020c arg #expr_653eeb6e order:0
php
pub fn main(world: World) -> Void raises {
check world.out.write("hello from zero\n")
}
Built for runtime constraints. #
The graph model should reduce guessing without relaxing the runtime goals. Zerolang still aims to stay small, fast, explicit, and dependency-free.
Explore with us. #
Start with the getting started guide, then read the graph architecture and compile-path pages to see why the program database matters.