LLVM-free · Rust-seeded · Research language

Executable semantics. Checked programs. A compiler stack NAUX can call its own.

NAUX explores proof-gated compilation from a canonical typed core to self-owned native machinery. The current public toolchain is experimental and still uses a Rust/Cargo seed.

hello.nx
~ rite
    $msg = "Hello, NAUX!"
    !say $msg
~ end
> Hello, NAUX!

Project status

What NAUX is right now

The public learning language and the research compiler share one project, but they make different promises.

Available today

NAUX Learn 0.1.4

A bounded Linux x86-64 learning profile for writing and running deterministic .nx programs without installing Rust or Cargo.

Install the learning profile

Active research

Proof-gated compilation

Typed semantics, partial evaluation, checked lowering, and a self-owned x86-64 path are developed behind reproducible evidence gates.

Inspect the architecture

Boundary

Experimental, not production

NAUX does not yet promise stable compatibility, dependency closure, security-critical suitability, or performance leadership.

Review the source and evidence

Design principles

Why NAUX?

NAUX takes an uncommon path: executable semantics first, aggressive specialization second, and independently checkable evidence at every boundary.

Ritual-first Syntax

Programs use ~ rite entry blocks, $ variables, ^ returns, and ! actions. Explicit blocks, no hidden implicit behavior.

Multi-Engine Execution

AST interpreter, bytecode VM, typed trace JIT, and experimental x86-64 native code — all from the exact same source.

Canonical Typed Core

Surface syntax elaborates to a typed, call-by-value ANF core with explicit effects, regions, and lifetime evidence.

Sovereign Compiler Direction

No LLVM, GCC, or Cranelift backend. NAUX is building its own encoder, object writer, linker, and runtime while openly tracking seed debt.

Futamura Projections

Specialize the canonical interpreter by a known program to produce a standalone residual program, then generate a compiler.

Measured, Not Claimed

Cross-language benchmarks against C, C++, Go, Rust, and Zig with reproducible evidence bundles and strict methodology.

Verified learner corpus

Algorithms written in NAUX—not delegated to host builtins.

Eight representative programs from the 30-exercise S1 corpus. Every example has deterministic input and expected output.

Corpus
30
Shown
8
Domains
7
Basics

Sum an array

Counted input, a bounded loop, and scalar accumulation.

solution.nxNAUX Learn
~ rite
    $n = read_int()
    $sum = 0
    ~ loop $n
        $sum = $sum + read_int()
    ~ end
    !say $sum
~ end
Input
5
3 -2 7 10 4
Output
22
naux run solution.nx < input.txt

Complete S1 inventory

30 deterministic exercises across six tracks

Foundations 8

  • Sum array
  • Maximum
  • Count even
  • Reverse
  • Factorial
  • Fibonacci
  • Euclidean GCD
  • Prime check

Search and prefix 4

  • Linear search
  • Binary search
  • First occurrence
  • Prefix range sum

Sorting 4

  • Bubble
  • Selection
  • Insertion
  • Counting

Graphs 6

  • BFS
  • DFS
  • Shortest unweighted
  • Dijkstra
  • Connected components
  • Topological sort

Greedy 3

  • Coin change
  • Interval scheduling
  • Maximum items under budget

Dynamic programming 5

  • 0/1 knapsack
  • Minimum coin change
  • LIS
  • Grid paths
  • Subset sum

The corpus also covers DFS, Dijkstra, topological sort, interval scheduling, prefix sums, counting sort, subset sum, and more.

Browse the exercise guide

Compiler architecture

Program flow on the left. Trust evidence on the right.

The diagram separates transformations from the checks that authorize them. A stage existing in research does not mean every surface program reaches it today.

Semantic authority
Typed Core
Native target
x86-64
LLVM in path
None
  1. 01

    .nx source surface

    Available

    Span-aware lexing, parsing, diagnostics, and the learner execution surface.

    Open contract
    OutputParsed surface program
    GateSource positions · deterministic diagnostics
  2. 02

    Canonical Typed Core

    Bounded

    Typed ANF makes effects, regions, ownership obligations, and observations explicit.

    Open contract
    OutputVerified Typed Core
    GateType · effect · region · ownership evidence
  3. 03

    Specialization

    Research

    Binding-time analysis, static evaluation, and residualization remove admitted static work.

    Open contract
    OutputResidual Typed Core
    GateSealed certificate · independent replay
  4. 04

    Canonical residual SSA

    Bounded

    A deterministic control/data-flow form becomes the boundary for native lowering.

    Open contract
    OutputValidated SSA image
    GateTranslation validation · correspondence roots
  5. 05

    Machine IR + x86-64

    Experimental

    Target planning selects an admitted instruction plan and checked encoding emits bytes.

    Open contract
    OutputOwned machine-byte capsule
    GateMachine verifier · independent decoder
  6. 06

    Native artifact

    Experimental

    W^X execution and direct ELF64 experiments run admitted images without LLVM or libc startup.

    Open contract
    OutputRunner / standalone ELF
    GateGate B · containment · dependency inventory

Install NAUX Learn

One supported binary. One command.

NAUX Learn is the small prebuilt profile for writing and running learner programs. Rust and Cargo are not required on the learner’s machine.

Version
0.1.4
Host
Linux x86-64 GNU
Channel
Experimental
Recommended

Install from the terminal

Available
curl -fsSL https://github.com/x2t8/Naux/releases/download/v0.1.4-learn/nauxup.sh | sh

Downloads the pinned bundle, verifies SHA-256 and its inner manifest, then asks before installing.

  1. 01DownloadPinned release asset
  2. 02VerifyOuter SHA-256 + manifest
  3. 03InstallOwned files + receipt
  4. 04Runnaux run file.nx