Next steps
Where to go after installing NURL.
Build a program
- Tutorial: a word-count CLI - a small, real program, built end to end.
Learn the language
- Language basics - prefix syntax, literals, variables, functions.
- Control flow and pattern matching - conditionals, loops,
match. - Structs, enums, and traits - data types and generics.
- Memory and ownership - single-owner auto-drop, parameter conventions, the borrow checker.
- Error handling -
Option,Result, and the try operator. - Concurrency - threads, the async fiber runtime, and channels.
- Common pitfalls - the handful of things worth knowing up front.
- Cheat sheet - the syntax above, condensed to one page.
Explore the standard library
- Standard library tour - collections, strings, time, crypto, and more, grouped by category.
- Networking - TCP, UDP, DNS, HTTP, TLS, MQTT.
- Cryptography - hashes, AEAD, signatures, and TLS, built on libc only.
- Distributed computing - a peer-to-peer stack for churning, NAT'd, mobile peer sets.
- examples in
the repository, runnable
.nuprograms from FizzBuzz to an HTTP server to a Game Boy emulator.examples/README.mdtags each one with where it can run (the browser playground, or locally only).
Tooling
- Formatting - the
nurlfmtcanonical style. - Editor and tooling - the language server,
nurlpkg, and the local MCP server. - Testing and benchmarking -
nurlpkg test/nurlpkg bench, and how the compiler's own suite works. - Platforms - host support and cross-compile targets.
- Embedded targets - bare-metal NURL, starting with ESP32.
Try without installing
The online playground compiles and runs NURL in your browser via WebAssembly. Use it to test a snippet, or on a machine where you have not set up NURL yet.
NURL Errors
NURL uses compiler errors to teach you the language. Every diagnostic names the problem and gives the fix. If you do not understand an error, read it fully before you search elsewhere. The compiler is the answer.
For anything the compiler cannot catch, or model-level questions like "what exactly does the borrow checker check," use these two references:
docs/spec.md— the language reference.docs/MEMORY.md— the memory model and borrow checker, in depth.
Last updated on