Anglish is the language between code and prompt.
Abstract. A thin, declarative contract for human–AI co-authorship. The author decomposes a problem into named spaces; the contract states which decisions the AI may take and which the author fixes. The compiler checks the structure, signs the build, and ships a verifiable artifact.
:UI
>>> A web-based checkout form with shipping, billing, payment.
>>> The form inputs are bound to %checkoutForm.
>>> When %checkoutForm is submitted, use $validateForm. What vibe-coding can't give you, and code makes too expensive.
Vibe-coding lets you describe what you want and have an AI write it. Brilliant for a one-shot script; ruinous for a system you have to live with. Anglish keeps the natural-language ergonomics, but adds the small amount of structure needed to review, reuse, and verify what you ship.
Review what you wrote.
Stable identifiers and explicit boundaries — no generation drift between iterations, no super-linear review cost.
Trusted modules stay trusted.
Spaces are named, versioned, hash-addressable. Calls bind to the audited binary, not to "the GDPR redactor in prose."
Boundaries you can read.
Per-sub-problem declarative or imperative. The AI knows what it may decide and what it must obey, and so do you.
From contract to deploy.
The compiler tags every output with authorship metadata; the assembler signs a reproducible MEX archive — provenance end to end.
Compose, don't repeat.
Each declaration is a node in a Space–Path Graph. Compose them with
$use(). Reference them by stable name. The compiler
validates the structure before a single line of generated code is run.
:UI
>>> Form for collecting the user's shipping address.
>>> Bind inputs to %shippingData.
>>> When %onSubmit, delegate to $validateShipping.
>
:UI
>>> Form for collecting credit-card and billing information.
>>> Bind inputs to %paymentData.
>
:UI
>>> Checkout panel that composes the shipping and payment forms.
>>> $use()
>>> $use()
>>> On %orderSuccess, display confirmation via $ui_writer.
Five meta-characters carry the whole grammar: @ spaces,
# agents, $ tasks, % data,
= paths. Vibe lines start with >>>;
the rest is plain English.
Anglish is open. The toolchain runs on Samoza OS.
The Anglish specification is open. Anyone can implement a compiler for it; we hope they will. The reference implementation — compiler, debugger, and Mixed Experience runtime — is built by Samoza Research and runs on Samoza OS.