Advanced Walkthrough
Move from plain structure to AEON-specific power features.
Advanced features.
This page assumes you already understand bindings, containers, comments, and multiline text. It focuses on the features that make AEON more than a generic nested data format.
If you are new to the language, start with the basic walkthrough first and then return here.
Step 1
Custom type labels
Once the built-in shapes are familiar, AEON can carry custom labels defined by a wider ecosystem. The label remains explicit in the document, while the meaning is supplied by higher layers rather than by the core parser.
hi:message = "Hello World!"
Step 2
Null literals
Null values are explicit literals, not a vague absence bucket. A document can say whether something is not set,
not applicable, tombstoned, or missing for a custom reason. That gives validators and downstream tools more to work
with before runtime materialization. AEON does not let some other datatype secretly carry a null value; the value must
be typed as null.
email:null = !notSet
fax:null = !notApplicable
oldRecord:null = !tombstone
review:null = !"awaiting manual review"
This is intentionally invalid: a non-null type binding cannot contain a null literal.
itemCount:number = !notSet
Step 3
NaN and Infinity literals
AEON keeps numeric edge cases visible. NaN and Infinity are their own literal families, so a
schema or consumer can allow them deliberately or reject them before they leak into calculations.
reading:nan = NaN
negativeReading:nan = -NaN
limit:infinity = Infinity
floor:infinity = -Infinity
This is intentionally invalid: a number type binding cannot contain a NaN or infinity literal.
itemCount:number = NaN
Step 4
Attributes
Attributes are where AEON begins separating value from surrounding meaning. The bound value remains unchanged, while the attribute set carries side information such as units, intent, or contextual qualifiers. Anonymous children inside lists, tuples, and nodes can carry the same local metadata.
width@{unit:string = "cm"}:number = 33
values:list = [@{unit:string = "cm"}:number = 3]
Step 5
Separator values
Some values are better preserved as visible segments rather than flattened strings. Separator values keep forms such as versions, addresses, and compound identifiers in a structured textual shape.
version:sep[.] = ^1.2.2
server:sep[.] = ^198.0.0.28
dimensions@{unit:string = "px"}:sep[x] = ^300x250
Step 6
Addressing and references
References are one of AEON's central capabilities. Start with clone references: they reuse an earlier value directly while keeping the relationship visible in the document.
source:boolean = true
clone:boolean = ~source
Pointer-style references are different. They preserve an address to a value or structure, which is useful when a downstream consumer needs to keep the link itself rather than just the cloned value.
contact:object = {
name:string = "Tom"
occupation:string = "Genius"
}
label:string = ~contact.name // clone
pointer:object = ~>contact // pointer reference
Step 7
Nodes
Start with a simple node tree. Nodes let a document represent ordered, nested structures that are not just key-value objects.
book:node =
<book (
<chapter ("Once upon a time")>
<chapter ("They lived happily ever after, the end")>
)>
Once that shape is familiar, the same model can carry richer markup-like structures, including attributes on individual nodes.
html:node =
<html (
<body (
<div@{id:string = "message", class:string = "greeting"} (
"Hello"
<br>
"World"
)>
)>
)>
Step 8
Semantic comments
AEON also has structured comment channels. These let a document carry semantic or workflow-related side information without turning those comments into ordinary data bindings.
/#
# Publishing note
This draft is still [* under review]. Before publishing:
- review totals
- get sign off
#/
//@ audience("implementers")
//@ status("draft")
Advisory comments can express guidance for downstream readers or tools while still remaining outside the core data model itself.
//? Refresh these totals before publication.
summary:string = "Conventions baseline"
totalConventions:number = 12
Sequence
Advanced AEON becomes easier once the basic document model feels routine.
The intent of this split is to let a new reader become comfortable with ordinary authoring first, then encounter the language features that give AEON its distinct power.