TOUR · CHAPTER 2

The five meta-characters

The whole grammar fits in five symbols. Memorize them once and you are done.

Anglish is built around exactly five meta-characters. They mark the kind of thing you are declaring or referencing. Once you know them, every line of Anglish you’ll ever read parses itself.

SymbolNameWhat it declares
@SpaceA bounded context where work happens — UI, IO, data, logic, or an agentic router.
#AgentA reasoning unit (deterministic or AI-flavoured) that runs inside a space.
$TaskA named operation — either built into a space type or author-defined.
%Data resourceA structured object that flows between spaces and tasks.
=PathA connection between two spaces.

Plus three syntactic markers that are not themselves meta-characters but show up just as often:

  • >>> at the start of a line — a vibe line. One or more contiguous vibe lines form a vibe block.
  • > alone on a line — a continuation line. Keeps the current declaration open for more blocks.
  • A blank line — closes the current declaration (and any nested ones).

What a declaration looks like

Every declaration has the shape:

<meta-char> name [: TYPE] [(parameters)]
>>> vibe block describing intent
>>> more prose if you need it.
>
optional subordinate declarations

Concretely:

@checkout:UI
>>> A web-based checkout form.
>>> Bind inputs to %checkoutForm.
>
$validateForm(in=%checkoutForm)
>>> Validates required fields and emits %validationErrors.

Read it as: “There is a UI space called checkout whose intent is on the next two lines. Inside it, there is a task validateForm that takes %checkoutForm and validates it.”

Inline references

Once a thing is declared, you can refer to it anywhere — in a header, in a vibe line, in another declaration’s parameters — by writing its meta-character and name:

  • @checkout references the space.
  • $validateForm references the task.
  • %checkoutForm references the data resource.
  • =submitPath would reference a path.

The compiler resolves these by name. If you misspell, it fails at compile time, not at the third pass of vibe-coding.

Why so few

Five meta-characters seems thin. That’s the point: the smaller the grammar, the less Anglish gets in the way of the prose. Vibe lines do the heavy lifting; meta-characters do just enough to make the structure machine-readable.

Next chapter: the five space types.