SmallsomeFormats · Language · ArchitectureJörg Burbach

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.