Vercel Labs Introduces Zero, a Programming Language Designed for AI Agents to Learn, Modify, and Deploy Native Programs

Vercel Labs
01 / 09 · Overview
Zero
Programming Language
Agents
A diagnostic programming language that provides AI agents with structured diagnostics,
typed maintenance metadata, and machine-readable documents — near sub-10 KiB native binaries.
Programming Language
Native agent
v0.1.1
Apache-2.0
For testing
Context
02 / 09 · Why Zero Exists
Agent maintenance loop problem
Most programming languages produce batch output written for human readers – unstructured text that AI agents must analyze to determine what went wrong and how to fix it. This creates a fragile loop.
- The agent writes the code — the compiler outputs an error as unstructured text
- The agent parses the text – The error format can change between compiler versions
- No repair advice – no built-in concept of “corrective action”
- Someone enters — the loop requires manual intervention to resolve errors
Zero was designed from day zero so that agents can read code, interpret diagnostics, and debug the system — without human translation.
Main Feature
03 / 09 · JSON diagnostics
Scheduled Merge Output
Running zero check ——json outputs machine-readable diagnostics instead of plain text. All errors include a fixed code, character message, line number, and typed fix ID.
$ zero check --json
{
"ok": false,
"diagnostics": [{
"code": "NAM003",
"message": "unknown identifier",
"line": 3,
"repair": { "id": "declare-missing-symbol" }
}]
}- the code – Stable identifiers can reliably match (
NAM003) - the message – a human-readable error description
- to fix – Machine-entered repair ID can work without text analysis
Main Feature
04 / 09 · Repair instructions
zero explain & zero fix
Two CLI subcommands break the agent maintenance loop without requiring agents to parse prose scripts.
zero explain NAM003Returns a structured description of any diagnostic code. Agents look up NAM003 exactly – no scratching of the document.
zero fix --plan --json add.0It issues a machine-readable maintenance plan that explains exactly what changes need to be made – no guesswork required.
Together, zero explain again zero fix --plan --json allow agents to understand errors and act on them without human interpretation of compiler output.
Main Feature
05 / 09 · Agent guidance
zero capabilities: Version-Matched Agent Guidance
Many tools require agents to compile external documents that may not be compatible with the installed compiler. Zero solves this by saying zero skills – the directive is given directly from the CLI, matched with the installed version.
zero skills get zero --fullReturns a fixed workflow for:
- Zero syntax — Basics of the language of the current version
- Diagnosis — how to interpret and execute with compiler output
- Construction & packages – Manifest structure, target, and output
- Testing and editing loops – Confirming and correcting work flow patterns
Language Design
06 / 09 · Power-Based I/O
Transparent Effects & Power-Based I/O
In Zero, if a work touches the outside world, its signature says so. There is no hidden global process object, no implicit async, and no magic globals.
pub fun main(world: World) -> Void raises {
check world.out.write("hello from zeron")
}- world: The world – thing to know; provides access to I/O, file system, network
- check – Manages inappropriate activities; failure at the top of the call stack
- suggests — marks that the function may propagate errors — appear in the signature
- Compilation of enforcement time – Unavailable skills are rejected at compile time, not runtime
Language Design
07 / 09 · Memory and Size
Unpredictable Memory & Small Binaries
Zero targets areas where binary size and memory predictability are important. There is no hidden working time tax.
< 10KiB
Native execution using static dispatch, no forced GC, no forced event loop
zero build --emit exe
--target linux-musl-x64
add.0 --out .zero/out/addzero size --json– report artifact size before code generation if possible- There is no hidden fear – Allocation is clear and visible in the code
- IC ABI exports — target interop metadata for C parameters
Get Started Immediately
08 / 09 · Getting started
Install & Run Zero
Install the compiler with a single curl command:
curl -fsSL | bash
export PATH="$HOME/.zero/bin:$PATH"
zero --versionTest, use, and build your first program:
zero check examples/hello.0
zero run examples/add.0
zero build --emit exe --target linux-musl-x64
examples/add.0 --out .zero/out/addCreate a new package:
zero new cli hello
cd hello
zero check . && zero test . && zero run .
The situation
09 / 09 · Current situation
What’s Available and What’s Not
- v0.1.1 (Experimental) – compiler, stdlib, and language spec are not stable yet
- There is no package registration – The scope of the ecosystem is the first stage
- Cross integration — limited to a targeted subset
- VS code extension – To highlight the syntax of
.0files are uploaded to the repo - Donors – Chris Tate and Matt Van Horn (Vercel Labs)
zerolang.ai
github.com/vercel-labs/zero
Zero is a working experiment worth tracking for AI developers interested in native agent chain design – not yet dependent on production.



