| Crates.io | nilang |
| lib.rs | nilang |
| version | 0.3.0 |
| created_at | 2025-11-18 03:11:00.507172+00 |
| updated_at | 2025-12-03 05:03:57.278436+00 |
| description | A scripting language interpreter for Advent of Code |
| homepage | https://github.com/Nilando/nilang |
| repository | https://github.com/Nilando/nilang |
| max_upload_size | |
| id | 1937835 |
| size | 1,869,639 |
A scripting language interpreter designed for Advent of Code 2025!
Nilang is a dynamically-typed scripting language with a focus on simplicity and expressiveness. It features a custom bytecode compiler with an optimizing IR, register allocation, and a trace and sweep garbage-collected runtime.
curl -sSf https://raw.githubusercontent.com/Nilando/nilang/main/install.sh | bash
This will install nilang via cargo, download the standard library, and place it in ~/.nilang/std/.
git clone https://github.com/Nilando/nilang
cd nilang
cargo build --release
./install.sh
Run a Nilang program:
nilang program.nl
Start the REPL:
nilang
Pipe input to the interpreter:
echo 'print(1 + 2);' | nilang -s
Check out the examples/ directory for code samples:
fibonacci.nl - Fibonacci sequence generatorfizzbuzz.nl - FizzBuzz implementationquicksort.nl - Quicksort algorithmgame_of_life.nl - Conway's Game of Lifeeratosthenes_sieve.nl - Prime number sieveTry running an example:
nilang examples/fibonacci.nl
Nilang is currently in early development (v0.1.0), and may not be maintained/updated any further. The language is functional but may have rough edges. Future features of interest include FFI through standard C bindings and compilation to WebAssembly, though these may not be implemented in the near future.
Nilang uses a multi-stage compilation pipeline:
Issues and pull requests are welcome! This is a learning project and a work in progress.
MIT License - see LICENSE-MIT for details.
Niland Schumacher