Language Walkthrough

Learn AEON step by step.

Basic features.

This first page covers the smallest useful document, the core container shapes, and the authoring features that make the language comfortable to read and write.

The second page continues with attributes, anonymous child metadata, separator values, references, and nodes once the basic document model is clear.

Step 1

The smallest AEON document

The smallest useful AEON document is a single binding. If you understand the shape of one binding, you understand the foundation of the language: a name, an equals sign, and a value.

hi = "Hello World!"

Try it

Edit the bindings and watch the AEON highlighter update as you type.

Step 2

Basic scalar values

Most AEON documents begin as ordinary data. Strings, numbers, booleans, switches, and numeric literals are straightforward, so simple documents stay simple.

name = "Tom"
score = 23
enabled = true
ratio = 3.14e-2
large = 1_000_000

Step 3

Optional type labels

AEON can carry explicit type labels when a document needs them. That lets a producer state intent without turning the document into executable logic.

hi:string = "Hello World!"
score:number = 23
isWinning:boolean = false

Step 4

Objects and nesting

Once you know a single binding, the next step is nested structure. Objects group related bindings together and form the backbone of most structured AEON documents.

contact = {
  name = "Tom"
  occupation = "Genius"
}

Step 5

Lists and tuples

After objects, the next natural step is ordered containers. Lists are for repeated values of the same general kind, while tuples are for fixed positions where each slot has a defined role.

animals:list = ["cat", "dog", "mouse"]

measurements:list = [
  :number = 3
  :number = 4
]

Lists can use anonymous type heads when individual elements should carry explicit type labels; the form works inline or across multiple lines.

measurements:list<number> = [3, 4, 5]

When every element has the same intended type, a generic type annotation on the list is the compact form.

sound:tuple = ("cat", "meow")

point:tuple = (:number = 12, :number = 42)

Tuples look similar at a glance, but they represent a positional record rather than a sequence of interchangeable items. Anonymous type heads make the role of each slot easier to read.

Step 6

Whitespace, newlines, and commas

AEON is meant to be authored, not just generated. You can write structures across multiple lines, inline with commas, or with trailing commas when that makes editing easier.

version = "2.1.1", contact = { name = "Tom", occupation = "Genius" }

contact = {
  name = "Tom",
  occupation = "Genius",
}

Step 7

Comments

Comments are part of the normal authoring experience. They let teams leave notes, preserve review context, and keep explanatory material alongside the data without changing the data itself.

// single-line comment
/*
multi-line
comment block
*/

Step 8

Multiline strings

Multiline strings belong in the basic toolkit because real documents carry longer text. Once you know bindings and containers, block text becomes straightforward to read and author.

story = `
Long
story
told
word
for
word
per
line
`

Use plain backticks when you want the text exactly as written. Use trimticks when you want to indent the source neatly without keeping that leading indentation in the resulting value. The reserved prose label marks formatted trimtick text while richer interpretation stays with profiles or applications.

story:prose = >`
  Long
  story
  told
  word
  for
  word
  per
  line
`

Next

Continue with the advanced language features.

When the basic document model is comfortable, the next page introduces custom type labels, attributes, separator values, references, nodes, and structured comment channels.