Skip to content

NXL

An experimental programming language

NXL

Simple. Expressive.
Built from scratch.

A programming language designed for readable code, explicit blocks, and a simple learning curve — built from scratch in Rust.

hello.nxl
let name = "NXL"
let age = 23

if age >= 18 {
    print("Hello, " + name)
}

Why NXL?

NXL explores what a simple, understandable programming language can look like when built from the ground up.

01

Simple syntax

Familiar syntax designed to keep programs readable without adding unnecessary complexity.

02

Explicit blocks

NXL uses {} to define blocks instead of relying on indentation.

if condition {
    print("Hello")
}
03

Built in Rust

The compiler and runtime are being developed from scratch in Rust, making the implementation part of the learning experience.

How NXL works

Follow the journey from source code to execution.

  1. 01
    SourceYour NXL program
  2. 02
    LexerCharacters → tokens
  3. 03
    ParserTokens → structure
  4. 04
    ASTProgram representation
  5. 05
    InterpreterExecute the program

Try it in a minute

No package manager, no build step to configure. Clone the repo and run your first program with Cargo.

terminal
$ git clone https://github.com/xanmoy/nxl
$ cd nxl
$ cargo run -- hello.nxl

Learn NXL

Learn the language from your first program all the way down to its internals.

Built in the open.

NXL is an open-source experiment in programming language design, compiler construction, and learning by building.