NATIVE BOOTSTRAP · V81
The program.
The memory.
The machine.
nC integrates functions, explicit memory and machine instructions. Its compiler preserves types, control flow and representation contracts through analysis, lowering and linking.
Open development · Manual memory · Windows and Linux x86-64
use <io:output>;
helloCompacto {
to main {
println("Hello, nC public beta");
}
fa:
return true;
}Byte-identical B/C reconstructions within each V81 host. Global Stage3 remains open.
Read the evidence ↗WHY nC
Preserve meaning
across levels.
Layout, alignment, pointer validity and calling convention affect observable program behavior. nC aims to preserve those contracts across source, IR and emitted code.
Current work covers native reconstruction, runtime consistency and validation of objects and images on documented profiles.
Language design and motivation ↗NATIVE TOOLCHAIN
Compile and run
with ncc.
The kit contains ncc, its runtime provider and hello.n. Run these commands from the extracted directory to emit a PE or ELF image and verify its result.
Select a package and verify its hashes ↗.\ncc.exe self-test
.\ncc.exe compiler emit-executable hello.n `
--target x86_64-pc-windows-msvc --out hello.exe
.\hello.exeHello, nC public betaProcess completed · exit 0
The V81 kit exposes a partial bootstrap CLI. Check its command set before applying a Stage0 recipe.
COMPILER PIPELINE
Contracts between phases.
Inspect each phase and its responsibilities.
Types, flow, representation and target dependencies.
Declare the program.
Functions, typed places and imports define program units. Visibility, control flow and representation must retain their identity through analysis.
examples/00_hello/hello.nLIBRARY
Language, toolchain and architecture.
BEFORE YOU RUN
Requirements and limits.
Dependencies, tested platforms and the scope of the V81 CLI.
Do I need Rust or LLVM?
The native kit includes the compiler and provider required for the first program. Building Stage0 from source still requires Rust, a verified native seed and an archiver.
Which systems have been tested?
The kit was tested on Windows x86-64 and Ubuntu 24.04 under WSL x86-64. Linux requires glibc 2.34 symbols or later. Other profiles have separate scopes documented in the technical references.
What does bootstrap mean here?
The project builds and verifies the compiler using its own tools. V81 records identical B/C generations within each host. Stage0 is retained, and global Stage3 promotion remains open.
Does type checking provide memory safety?
nC has manual/raw semantics. The program controls allocations, addresses and release. Type checking does not add ownership or implicit pointer-lifetime checks.
What belongs in a bug report?
Host and architecture, compiler and provider digests, complete command, minimal source, diagnostic and expected result. Identify whether the failure occurs during analysis, emission, linking or execution.
OPEN DEVELOPMENT
A reproducible regression.
A verifiable contract.
Include minimal source, the command, compiler digest, provider and expected result. A language change must keep parser, AST, semantics and IR consistent.