Syntax
Aether source is statement-oriented. Newlines and ~ can terminate statements.
Literals And Variables
let x = 10~
let y = 3.14~
let ok = true~
let name = "aether"~
let values = [1.0, 2.0, 3.0]~
The parser accepts optional type-hint style declarations:
point C = [1.0, 2.0, 3.0]~
Current type hints are parsed as syntax. They are not a full static type system.
Expressions
Active expression operators:
- arithmetic:
+,-,*,/,%; - comparison:
<,>,<=,>=,==,!=; - logical:
&&,||,!; - ranges:
0..4forforloops and0:64for slices.
Control Flow
if count == 0 {
print("empty")~
} else {
print("nonempty")~
}
while count < 3 {
count = count + 1~
}
for i in 0..4 {
total = total + i~
}
break and continue are active inside loops.
Seal Loop
seal until count >= 3 {
count = count + 1~
}
The active implementation evaluates the until expression. Topological
convergence syntax can be parsed in regression configuration, but full
language-level convergence semantics should be treated as gated unless a test
covers the exact path.
Functions
fn add(a, b) {
return a + b~
}
let result = add(2, 3)~
Functions return explicit return values or the last value produced by the
body.
Manifolds And Blocks
let data = [1.0, 2.0, 3.0, 4.0]~
manifold M = embed(data, tau=1)~
block B = M.cluster(0:2)~
The active interpreter uses a fixed 3D embedding workspace. tau is used.
dim can be parsed but is not the runtime dimension selector in the current
interpreter path.