nC_PROGRAMMING LANGUAGE

Setting up the toolchain

Download the V81 native kit from the repository's Releases page. It contains the compiler, runtime provider, examples and SHA-256 checksums. This workflow does not require Rust, Cargo or LLVM.

In PowerShell, from the extracted Windows kit:

powershell
.\ncc.exe self-test
.\ncc.exe compiler emit-executable hello.n `
  --target x86_64-pc-windows-msvc --out hello.exe
.\hello.exe

On Linux x86-64, keep the provider beside the compiler. The kit was tested on Ubuntu 24.04 under WSL. Its imports require glibc 2.34 or later.

bash
chmod +x ncc
./ncc self-test
./ncc compiler emit-executable hello.n \
  --target x86_64-unknown-linux-gnu --out hello
chmod +x hello
LD_LIBRARY_PATH="$PWD${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ./hello

Expected output: Hello, nC public beta. Expected exit code: 0. The Stage0 commands check, machine and --help are not available through the same interfaces in this kit.

Compiler and runtime identity

Retain the SHA-256 digest of both artifacts. The compiler determines emitted code; the provider resolves services imported by that code. Replacing either changes the reproduction conditions even when the source is unchanged.

The Linux compiler has RUNPATH $ORIGIN. The generated example needs LD_LIBRARY_PATH to locate its provider. On Windows, keep ncruntime.dll beside the executables. Check exported symbols and ABI before mixing providers from different generations.

Stage0 development is documented in docs/install.md. Building it still requires Rust/Cargo, a verified native seed and a compatible archiver. The examples in this guide invoke distributed executables directly.

View source on GitHub ↗PDF manual ↓

Search nC