Website | Source

Replaces every operator with an English keyword on the bet that LLM tokenisers spend fewer tokens on words than on symbols. Built-in MCP client and LLM call primitives.

Camp: Syntactic
Author: Guru Sattanathan
Implementation language: C
Compilation target: LLVM IR (then native via clang)
Licence: Apache-2.0
First seen: January 2026
Maturity: working compiler

Agent tooling:
- llms.txt
- First-class MCP client primitives (mcp tools / mcp use / mcp resources / mcp read / mcp prompts / mcp init / mcp log)
- First-class LLM call primitive (llm claude "prompt")

Key idea

NERD strips every symbolic operator out of the surface syntax and replaces it with an English keyword: plus, minus, times, eq, gt, mod. The author's claim is that BPE tokenisers fragment punctuation but treat common English words as single tokens, so the same logic is cheaper to generate. There is no type system, no braces, no semicolons; functions and side-effects (http get, mcp use, llm claude) are first-class statements.

Thesis

NERD treats the problem as token economics. The site states "40% of code is LLM-written. That number is growing," and the syntactic-camp move is to remove the symbols that fragment under BPE. Operators become English words (plus, minus, eq, gt, mod), braces and semicolons disappear, control flow ends with done rather than a brace. The README is explicit that humans are no longer the audience: "Machines write it. Machines read it. Humans observe it."

The irony: cryptic symbols don't save tokens. Plain words win.

The distinctive move is what NERD does not ship: no type system, no error union, no contracts, no checker beyond the parser. This is the syntactic camp at its purest — the bet is that smoothing the generation surface buys more than verification would, and the difference shows up in the inference bill. Magpie reaches a similar diagnosis through the opposite mechanism (SSA form, every value named and typed at definition); NERD picks the lower-effort lever and accepts that "audit" rather than "verify" is the only safety net.

What it looks like

fn fizzbuzz n
repeat n times as i
  if i mod 15 eq zero out "FizzBuzz" else if i mod three eq zero out "Fizz" else if i mod five eq zero out "Buzz" else out i
done

fn main
call fizzbuzz 15

Every operator is a word: mod, eq, repeat, done. No braces, no semicolons, no +/==.

Distinctive moves

Maturity

Working compiler, Apache-2.0, 135 stars and two contributors, 30 commits, five tagged releases (latest v0.1.4, Jan 2026). The README labels itself "🚧 Early days" and warns the implementation might change completely. Native binaries for macOS-arm64 and static Linux are checked into the repo alongside source.

Agent tooling

llms.txt is the primary surface, served from the site root for direct ingestion. The agent capabilities table marks fifteen MCP and HTTP operations as shipping today, plus a single-line llm claude "..." primitive that auto-loads ANTHROPIC_API_KEY from .env. The README is explicit that this is scaffolding to experiment with, not a production agent stack — OAuth 2.1 and SSE streaming are listed as "coming next."

Design DNA


Tags: language   ai   syntactic   llvm  

Last modified 15 June 2026