Programming Language

Nocter

A self-contained systems language built around simplicity, encapsulation, and foolproof design.

Unicode Data Generation

This directory owns the reproducible transformation from the pinned Unicode Character Database to the generated Nocter source consumed by std/internal/unicode. It does not define public text semantics; those belong to std/char/README.md.

manifest.json is the input authority. It records the Unicode version, canonical source URL, byte length, and SHA-256 digest for every tracked file under inputs/17.0.0/. The generator verifies all of those fields before parsing data and never accesses the network.

Regenerate and check the committed product from the repository root:

node development/unicode/generate.js --write
node development/unicode/generate.js --check
node development/unicode/test.js

Generation parses the complete pinned property and casing corpus, rejects unknown locale-independent casing conditions, rejects empty mappings that the lookup representation cannot encode, validates every scalar lookup and mapping bound, and writes std/internal/unicode/tables.nct atomically only when its exact bytes change. Normal compiler, standard-library, and package builds consume that committed source directly.

Updating Unicode is one reviewed change: replace all input files, update every manifest field, run the generator, and update the public specification to name the new observable Unicode version.