Language 3.0 · Draft revision 2 · Theory
Smallsome Code
ASCII syntax. Readable keywords.
fn sum_to(n: num) -> num
num total = 0
for i in 1..n
total = total + i
return total
num answer = sum_to(8)
print "Sum: {answer}"The shared definition
One grammar, one syntax tree, one typed intermediate representation and one runtime contract. Not two languages, parsers or competing implementations. Types are written once, positional indices start at one, and both modes use brace interpolation.
num is binary64. word is explicit signed 32-bit wrapping arithmetic, with the same shared spelling in both modes. Changing a compiler target does not change a type's meaning.
Ownership and concurrency
Validated handles, scoped borrowing, deterministic cleanup and isolated task state. Directional channel endpoints move independently. Race uses the earliest successful event timestamp, then the lowest source input index for ties. Cancellation finishes only after scoped cleanup.
Both modes share these rules. A file chooses one mode; mixed keyword and symbol spellings are errors outside literal text and comments.
From Cymple 2.0
The complete 2.0 source is retained as a fixed historical foundation. The current amendments resolve its conflicting rules and replace repeated type prefixes, emoji interpolation and ambiguous channel sharing. Symbols 3.0 is not unmodified Cymple 2.0 source.
Theory, not an executable release
The specification and target contracts are being developed first. No compiler, symbolic interpreter, CPU implementation or lab app is commissioned at this stage. The existing Ozon compiler is a historical restricted Code subset, not a conforming 3.0 implementation.
The proposed source-mode option, endpoint pairs, complete ownership checking and T1 backend are future work. Existing command names and source paths remain stable; no 2.1 version is introduced.
Read the complete language specificationMarkdown sourceTheoretical T1 target