# Zero: The Programming Language for Agents

> Source: <https://zerolang.ai/>
> Published: 2026-07-14 19:27:53+00:00

# The Programming

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.
