Languages for AI agents
Programming languages whose intended author is a model, not a person. Three camps, by what they optimise. Taxonomy follows agentlanguages.dev, the independent catalogue of the field; this is a selection, not the full index.
“Active” means at least one commit on the default branch in the 90 days before 2026-08-02, via the GitHub API. This field moves in bursts, so a quiet month is not the same as abandoned - but a project at 0/0 has not been touched in a quarter.
Syntactic
Section titled “Syntactic”Cut the tokens a model spends writing and reading code: dense aliases, minimal punctuation, one canonical form.
| Language | Design move | Active |
|---|---|---|
| ilo | Short fixed builtin aliases; design changes argued against measured token cost; agent-session failures filed as language bugs | active |
| Mog | Embedded-only, flat operators (no precedence), host-granted capabilities; full spec in ~2.7k tokens | quiet |
| Codong | One canonical form per operation; JSON errors carry fix and retry fields | quiet |
| X07 | No text at all: programs are canonical JSON ASTs, edits are RFC 6902 patches | active |
| Magpie | SSA as the surface syntax; every value typed at definition; LLVM-backed | quiet |
| NERD | Every operator replaced with an English keyword; MCP client primitives | quiet |
| LLMLang | Prefix-arity AST, De Bruijn indices, compile-time linear ownership | active |
| Lume | Conventional surface plus token-budgeted docs retrieval (lume kb pack --max-tokens N) | active |
Verification
Section titled “Verification”Spend tokens to buy certainty: machine-checked contracts, effect types, solvers between generated code and production.
| Language | Design move | Active |
|---|---|---|
| Zero | Agent-first systems language, tiny binaries, JSON diagnostics with repair plans | active |
| BAML | Close the escape hatches: runtime types with no any or unchecked casts, typed errors with exhaustive matching, schema-aligned parsing that repairs malformed model output instead of rejecting it. Compiler work began Nov 2025; the older prompt DSL was rebranded BAML v0 in Jul 2026, so the two release tracks share a repo | active |
| Hyperlambda | Programs are node trees rather than text, so generated code arrives as an executable AST that is validated before it runs and only whitelisted invocations execute. The containment is original rather than retrofitted: whitelist-invocation.hl dates to Dec 2022, while the agent positioning and the MCP server are 2026 | active |
| Vera | Mandatory contracts verified by Z3; LLM inference as a typed effect | active |
| Thermite | req/ens/fx contracts discharged by Verus, Lean and Z3; five-level assurance ladder | active |
| AILANG | Row-polymorphic effect types, no loops; effects carve IO/FS/Net/Clock/AI | active |
| NanoLang | Shadow test blocks required per function; core proved with Coq theorems | active |
| Vow | Machine-checked vows discharged by ESBMC bounded model checking | active |
| Aver | Functions carry intent, effects and a verify block exporting to Lean 4 / Dafny | active |
| Intent | Mandatory pre/postconditions checked by Z3; one source targets Rust, JS, Wasm | active |
Orchestration
Section titled “Orchestration”The language coordinates agents rather than replacing their code: workflows, capability grants, deterministic replay.
| Language | Design move | Active |
|---|---|---|
| Fabro | Workflow harness; .fabro files are Graphviz digraphs, a CSS-like sheet routes models | active |
| Boruna | Capability-safe deterministic workflows with hash-chained evidence bundles | active |
| Plasm | Path expressions over typed API graphs with dry-run plans | active |
| Lumen | Markdown-native sources with algebraic effects and compile-time determinism | quiet |
| Marsha | English functional files compiled to tested Python by an LLM (2023; the category’s ancestor) | quiet |
Corrections welcome at hello@ilo-lang.ai. See also ways to be token efficient.