Introduction
NURL (Neural Unified Representation Language) has no virtual machine, garbage collector, or interpreter. The nurlc compiler compiles .nu files straight to a native executable or a WebAssembly module.
Work In Progress
- This site is a simplified, hand-maintained companion to the repository documentation, and does not yet cover everything.
- For the exhaustive, normative reference, see docs in the repository.
Features of NURL
NURL targets LLM code generation specifically. The regular grammar means errors stay local and a whole program fits predictably in a context window.
- Prefix-arity grammar -- every construct has a fixed arity and there is no infix/precedence table to learn. This is easier to parse for the AI and results in lower token usage. The grammar fits on one page and parses with at most 4 tokens of lookahead (LL(k≤4)).
- Reproducible builds (deterministic compilation) -- same source produces byte-identical output on every supported platform.
- Single-owner memory -- values auto-drop at scope exit.
- Static borrow checker -- rejects use-after-move, alias-double-free, escaping closure-captures, and iterator invalidation at compile time.
- One LLVM pipeline -- the same codegen path targets Linux, macOS, Windows, wasm32-wasi, RISC-V, and ARM64 without per-platform ports.
State of NURL
NURL is actively developed and is now in a pre-release state. See ROADMAP.md for the latest version.
Major changes now happen less often. The team plans a stable release for late 2026.
Requirements
- Only clang / LLVM 15 or newer if you build from source
Get NURL
Installation — The nurlc compiler (and the nurlpkg / nurlfmt tools)
Language basics — write and understand a minimal "hello world" program
Compiling and running — the compile pipeline, the nurl wrapper, and useful flags.
Next steps — the language guide, the standard library, the examples folder, and the online playground.
Last updated on