Vercel Labs introduces Zero, a systems programming language designed so that AI agents can read, repair, and ship native software


<

div id=”zlg-track”>

  <!-- and9472;and9472; SLIDE 1: Cover and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Vercell Laboratories</span>
      <span class="zlg-slide-label">01 / 09 · Overview</span>


      <span class="zlg-accent">zero</span><br/>Programming language<br/>For agents





      An experimental systems language that provides AI agents with structured diagnostics,<br/>Written fix metadata, machine-readable documentation - along with native binaries less than 10KB in size.


      <span class="zlg-pill">Systems language</span>
      <span class="zlg-pill">Original agent</span>
      <span class="zlg-pill">v0.1.1</span>
      <span class="zlg-pill">Apache-2.0</span>
      <span class="zlg-pill">experimental</span>


  </div>

  <!-- and9472;and9472; SLIDE 2: The Problem and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Context</span>
      <span class="zlg-slide-label">02 / 09 · Why is there a zero?</span>

    Agent repair loop problem




      Most programming languages ​​produce compiler output written for human readers, which is unstructured text that AI agents must parse to determine what failed and how to fix it. This creates a fragile ring.

    <ul class="zlg-list">
      <li><strong>The agent writes the code</strong> - The compiler issues an error as unstructured text</li>
      <li><strong>The agent distributes the text</strong> - The error format can change between compiler versions</li>
      <li><strong>No hint of repair</strong> - There is no built-in concept of “repair procedure”</li>
      <li><strong>Human steps</strong> - The loop requires manual intervention to resolve errors</li>
    </ul>




      Zero is built from day zero so agents can read code, interpret diagnostics, and fix the software - without human translation.

  </div>

  <!-- and9472;and9472; SLIDE 3: JSON Diagnostics and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Basic feature</span>
      <span class="zlg-slide-label">03 / 09 · JSON diagnostics</span>

    Structured compiler output




      Run <code>zero check --json</code> Produces machine-readable diagnostics instead of plain text. Each error includes a fixed code, a human message, a line number, and a typed fix ID.

    <pre><code>$ zero check --json

{
“ok”: false,
“diagnostics”: [{
“code”: “NAM003”,
“message”: “unknown identifier”,
“line”: 3,
“repair”: { “id”: “declare-missing-symbol” }
}]
}

  • code – Static identifier operators can match reliably (NAM003)
  • message – A human-readable description of the error
  • I will fix it – Typed fix ID agents can work without parsing the text
  <!-- and9472;and9472; SLIDE 4: zero explain + zero fix and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Basic feature</span>
      <span class="zlg-slide-label">04 / 09 · Repair orders</span>

    Zero explanation and zero repair




      Two CLI subcommands complete the agent repair loop without requiring agents to parse incidental documentation.

    <div class="zlg-cols">
      <div class="zlg-col">
        <span class="zlg-col-label">Zero explanation</span>
        <pre style="margin:0!important;border:none!important;padding:0!important;background:transparent!important;font-size:12px!important;"><code>zero explain NAM003</code></pre>
        Returns a structured explanation for any diagnostic code. Agents are searching <code>NAM003</code> Straightforward - no scraping of documents.
      </div>
      <div class="zlg-col">
        <span class="zlg-col-label">Zero repair</span>
        <pre style="margin:0!important;border:none!important;padding:0!important;background:transparent!important;font-size:12px!important;"><code>zero fix --plan --json add.0</code></pre>
        Produces a machine-readable repair plan describing exactly the changes that need to be made - without requiring any conclusion.
      </div>
    </div>




      together, <code>zero explain</code> and <code>zero fix --plan --json</code> Allow agents to understand and act on errors without requiring human translation of the compiler's output.

  </div>

  <!-- and9472;and9472; SLIDE 5: zero skills and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Basic feature</span>
      <span class="zlg-slide-label">05 / 09 · Guidance of the agent</span>

    Zero Skills: Version matching agent guidelines




      Most tools require agents to extract external documentation that may be out of sync with the installed compiler. Zero solves this with <code>zero skills</code> - The directive is served directly from the CLI, and is identical to the installed version.

    <pre><code>zero skills get zero --full</code></pre>
    Returns focused workflows for:
    <ul class="zlg-list">
      <li><strong>Zero syntax</strong> - Language basics for the current version</li>
      <li><strong>Diagnosis</strong> - How to interpret the translator’s output and act on it</li>
      <li><strong>Builds and packages</strong> - Clear structure, goals and outcomes</li>
      <li><strong>Test loops and edit the agent</strong> - Validate and fix workflow patterns</li>
    </ul>
  </div>

  <!-- and9472;and9472; SLIDE 6: Explicit Effects and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Language design</span>
      <span class="zlg-slide-label">06 / 09 · Capacity-based I/O operations</span>

    Explicit effects and capacity-based I/O




      In Zero, if a function touches the outside world, its signature says so. There is no hidden global process object, no implicit concurrency, and no magic worlds.

    <pre><code>pub fun main(world: World) -andgt; Void raises {

check world.out.write(“hello from zero\n”)
}

  • The world: the world – Power object; Grants access to I/O, file system, and network
  • Checks – Deals with fallible processes; Skins fail in the call stack
  • Excites – indicates that the function can propagate errors – visible in the signature
  • Enforce translation time – Capabilities that are not available are rejected at compile time, not runtime
  <!-- and9472;and9472; SLIDE 7: Memory and Size and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Language design</span>
      <span class="zlg-slide-label">07 / 09 · Memory and size</span>

    Expected memory and microbinaries




      Zero targets environments where binary size and memory predictability are important. There is no hidden runtime tax.

    <div class="zlg-cols">
      <div class="zlg-col">
        <span class="zlg-col-label">Double target</span>
        <10 KB
        Native executables via static submission, no mandatory GC, and no mandatory event loop
      </div>
      <div class="zlg-col">
        <span class="zlg-col-label">Cross assembly</span>
        <pre style="margin:0!important;border:none!important;padding:0!important;background:transparent!important;font-size:11px!important;"><code style="background:transparent!important;border:none!important;font-size:11px!important;">zero build --emit exe \

–target linux-musl-x64 \
add.0 –out .zero/out/add

  <!-- and9472;and9472; SLIDE 8: Getting Started and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">Quick start</span>
      <span class="zlg-slide-label">08 / 09 · Getting started</span>

    Install and run scratch
    Install the compiler using one curl command:
    <pre><code>curl -fsSL https://zerolang.ai/install.sh | bash

export PATH=”$HOME/.zero/bin:$PATH”
zero –version
Check, run 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/add

Create a new package:

zero new cli hello
cd hello
zero check .  andamp;andamp;  zero test .  andamp;andamp;  zero run .

  <!-- and9472;and9472; SLIDE 9: Status and Links and9472;and9472; -->
  <div class="zlg-slide">

      <span class="zlg-badge">condition</span>
      <span class="zlg-slide-label">09 / 09 · Current situation</span>

    What is available and what is not
    <ul class="zlg-list">
      <li><strong>Version 0.1.1 (beta)</strong> - The compiler, stdlib, and language specifications are not yet stable</li>
      <li><strong>There is no registration of the package</strong> - Ecosystem expansion is an early stage</li>
      <li><strong>Cross assembly</strong> - Limited to the documented target subgroup</li>
      <li><strong>VS Code extension</strong> - Syntax highlighting <code>.0</code> Ship files in the repo</li>
      <li><strong>Contributors</strong> - Chris Tate and Matt Van Horn (Versel Labs)</li>
    </ul>

    <div class="zlg-cols">
      <div class="zlg-col">
        <span class="zlg-col-label">Documentation and installation</span>
        zerolang.ai
      </div>
      <div class="zlg-col">
        <span class="zlg-col-label">source</span>
        github.com/vercel-labs/zero
      </div>

    </div>




      Zero is a work experience worth tracking for AI engineers interested in native toolchain design - it's not a production dependency yet.

  </div>

</div>

Share this:

Like this:

Like Loading…

Leave a Reply