Language

A practical reference for reading AEON.

This page is intentionally less formal than the specification. It explains the visible language surface: how bindings read, how containers are shaped, and how references, nodes, and modes fit together.

Use the value types page for special value features, the type reference for the lookup table, and the playground to experiment.

Bindings

Most AEON starts with a name, a type, and a value.

A binding assigns a value to a key. The datatype annotation tells a reader and a validator what kind of value is intended. In strict authoring, ordinary bindings are typed; in transport scenarios, untyped data can still be carried.

title:string = "Release notes"
published:boolean = true
count:number = 3

Containers

Objects, lists, and tuples cover the ordinary document shapes.

Objects contain named bindings. Lists contain repeated values. A list can declare the value family in the list type, or each child can carry an anonymous type head when that is clearer.

document:object = {
  title:string = "Release notes"
  tags:list<string> = ["spec", "draft"]
  measurements:list = [
    :number = 3
    :number = 4
  ]
}

References

Copies and live references use different marks.

AEON does not blur reference intent. ~path records value-copy intent. ~>path records pointer-like intent. That distinction matters when documents are transformed, validated, or bound into systems.

total:number = 12
published:number = ~total
livePointer = ~>total

Nodes

Node values make tree-shaped content explicit.

Nodes are useful when the document needs tagged, child-bearing structure without becoming HTML, XML, or executable code. They are data values with visible heads and children.

content:node = <article (
  <h1("AEON")>
  <p("Readable structure for data and documents.")>
)>

Modes

Transport, strict, and custom are authoring contracts.

Transport mode favors carriage. Strict mode reserves the core language surface and requires typed ordinary bindings. Custom mode keeps the typing requirement while allowing ecosystem-defined datatype labels.

aeon:mode = "strict"

title:string = "Typed document"
tags:list = ["reference", "public"]

Glossary

Common AEON words in plain language.

Binding: a key, optional attributes, an optional datatype annotation, and a value.

Attribute: structured metadata attached to a binding or value head.

Annotation: a side-channel structured comment that can travel beside data without becoming the data.

AES (Assignment Event Set): the ordered, canonical output produced by AEON Core from a document — one event per binding, in source order.

AEOS: the validation layer that checks whether the assignment stream satisfies a schema without silently coercing or mutating values.

Canonical form: a stable, normalized representation used for deterministic comparison, cryptographic hashing, and signing.

Profile: a policy bundle that defines how an AEON document should be processed once selected by the consumer.

Schema: a contract that defines acceptability constraints over an AEON document's structure and values.

Convention: a named interpretation agreement layered on top of AEON Core, declared by documents but trusted by consumers.

Tonic: the downstream materialization processor that consumes AES and produces a domain-specific runtime representation.

Reference: a value that points at another path. Clone references record copy intent with ~path; pointer references record live pointer intent with ~&gt;path.

Contract: a published, versioned artifact that identifies a trusted profile or schema surface, resolved against the consumer's trusted registry.

Grammar

The formal grammar should support the language, not become the page.

The exact EBNF belongs in the specification and conformance tests. This site should keep the common shapes visible and readable.

When you need authority-level detail, use the wiki and spec links; when you need intuition, use this page and the walkthrough.