Why I am building it
I want a systems language whose implementation, diagnostics, authority, and failure paths can be inspected without asking readers to trust a mountain of invisible machinery. San is my attempt to make safety work visible and incremental rather than perform perfection.
The project is also a long path toward language customization that feels calm, explicit, and legible to humans, accessibility tools, and careful coding agents.
What is demonstrated today
- A bounded Rust recovery seed builds San; successive San-built compilers reach a byte-identical fixed point.
- The maintained policy lane covers 611 positive and compile-fail fixtures at the current recorded checkpoint.
- Native ELF output separates executable and writable memory and fails closed on W^X violations.
- Checked lexical regions, typed slices, bounds failures, fixed-width integer semantics, capability-gated raw pointers, and structured diagnostics have positive and negative evidence.
What is deliberately not claimed
San does not yet provide general memory safety, robust collections, validated UTF-8 text, affine operating-system handles, full modules, portable targets, a package registry, supported networking, concurrency, or a production toolchain. Raw pointers remain unsafe even when authority is explicit.
The repository's capability matrix is the source of truth. Passing fixtures proves those named contracts—not completeness.
The v0.1 direction
The next mountain is a usable single-threaded Linux prototype: Result and propagation, affine cleanup, safe collections, real modules, deterministic project tools, and maintained filesystem, process, socket, and math proof programs.