Lightweight
Small language, small runtime, fast compiles.
fn main() { print("hello, world");}Lightweight
Small language, small runtime, fast compiles.
Statically typed
Everything is checked before it runs.
Familiar
C/Go/Rust-flavoured syntax; no surprises.
No ceremony
Local type inference, no header files, no build boilerplate.
Non-goals for v0.1: ownership/borrow checking, lifetimes, traits with dynamic dispatch, async, threads, macros, a central package registry. See Language Design for the full spec.
| Area | Status |
|---|---|
| Lexer | done, with error recovery |
| AST | done: expressions, statements, items, types, patterns |
| Parser | done: expressions, statements and items |
| Interpreter | in progress: values, control flow, functions |
| Type checker | not started |
| Codegen | not started |
| CLI | nex lex works, everything else is a stub |
The only working subcommand today dumps the token stream:
cargo run -p nex-driver -- lex examples/hello.nexSee Getting Started and the lexical structure reference for details.
| Path | What it is |
|---|---|
crates/nex-lexer |
Source text to tokens |
crates/nex-syntax |
AST node plumbing (parser arrives in Phase 3) |
crates/nex-driver |
The nex command line tool |
examples/ |
Sample .nex programs used by the test suite |
docs/ |
This documentation site |
progress.txt |
Which roadmap step is done, and what is next |
License: MIT OR Apache-2.0