Zero: The Programming Language for Agents

handfuloflight1 pts0 comments

Zero | An agent-first language experiment.

Experimental<br>The Programming<br>Language for Agents<br>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.<br>For humans<br>For agents

$ curl -fsSL https://zerolang.ai/install.sh | bash

1Human<br>Asks for an outcome<br>Build a CRM API, add auth, or fix a failing route

2Agent<br>Uses Graph<br>Symbols, calls, types, effects, node IDs, and graph hashes

3Compiler<br>Checks patches<br>Shape, type, stale-state, and repository metadata checks

4Human<br>Reviews projection<br>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.<br>The expected workflow is a normal conversation. The graph discipline lives in the agent skills and compiler commands, not in stiff human prompts.

your agent<br>build hello world in zerolang

I'll set up the package, patch the graph, and run it.<br>zero init<br>zero patch --op addMain --op 'addCheckWrite fn="main" text="hello from zero\n"'<br>zero run

Done. zero.graph validated at graph:a7f7e689 with symbol main. It prints:<br>hello from zero

Tighter agent loop.<br>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.

Traditional<br>Text is the source of truth<br>Zerolang<br>Graph is the program<br>repeat<br>repeat<br>agent writes source text<br>format<br>check<br>build<br>test<br>inspect failures<br>agent writes graph patch<br>compiler checks patch<br>projection available for review

Checked by default.<br>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<br>zero patch \<br>--expect-graph-hash graph:a7f7e6899a73f3b4 \<br>--op 'set node="#expr_653eeb6e" \<br>field="value" \<br>expect="hello from zero\n" \<br>value="hello graph\n"'<br>graph hashgraph:b3c1d04f<br>node#expr_653eeb6e<br>fieldvalue<br>symbolsmain<br>projectionsrc/main.0

The program database.<br>Readable text stays useful for review. The compiler-owned graph is the program database agents edit and the compiler consumes.

zero query · graph<br>zero-graph v1<br>origin source-text<br>module "hello"<br>hash "graph:a7f7e6899a73f3b4"

node #decl_ad8d9028 Function name:"main" type:"Void" public:true fallible:true<br>node #param_4610ae76 Param name:"world" type:"World"<br>node #expr_c403020c MethodCall name:"write" type:"Void"<br>node #expr_653eeb6e Literal type:"String" value:"hello from zero\n"<br>edge #expr_c403020c arg #expr_653eeb6e order:0

src/main.0 · projection<br>pub fn main(world: World) -> Void raises {<br>check world.out.write("hello from zero\n")

Built for runtime constraints.<br>The graph model should reduce guessing without relaxing the runtime goals. Zerolang still aims to stay small, fast, explicit, and dependency-free.

Token efficiency<br>Low memory<br>Fast startup<br>Fast builds<br>Low latency<br>Zero dependencies

Explore with us.<br>Start with the getting started guide, then read the graph architecture and compile-path pages to see why the program database matters.<br>Get started Graph architecture

Ask AI⌘I

graph zero hello node agent program

Related Articles