What is R2ND?
R2ND (Road to No Dependencies) is an open ecosystem rebuilding the software stack from scratch — with zero external dependencies.
Most software stacks depend on hundreds of third-party packages, hidden runtimes, and frameworks built on top of other frameworks. R2ND is a bet that this doesn't have to be the case. Starting from a new programming language — M++ — the project builds every layer of the stack: language, standard library, UI framework, 3D renderer, networking stack, and desktop environment.
The goal is a complete, self-hosted software ecosystem where every line of code is readable, auditable, and under your control.
The Stack
Each layer is built on top of the one below it — and nothing else.
Project Status
R2ND is under active development. Here's where each component stands.
Philosophy
Five principles guide every design decision in R2ND.
No Unnecessary Dependencies
Every component in R2ND is built from scratch or relies only on other R2ND components. External dependencies are treated as a design failure.
Full Transparency
All source code is open. You can read, audit, and understand every line of code that runs on your machine.
Open Ecosystem
R2ND is not a product — it's a platform. Anyone can build on it, extend it, or replace parts of it.
Developer Freedom
No magic, no hidden runtime, no opaque framework. You control your memory, your types, and your execution.
Long-term Maintainability
A codebase with zero external dependencies never breaks because a package was deprecated or silently changed its API.
M++ at a Glance
Here's what M++ code looks like:
// A simple M++ program
fn greet(name: string) -> string {
return "Hello, " + name + "!";
}
struct Point {
x: float,
y: float,
}
fn Point.length(self: Point) -> float {
return sqrt(self.x * self.x + self.y * self.y);
}
fn main() {
let msg = greet("R2ND");
print(msg); // Hello, R2ND!
let p = Point { x: 3.0, y: 4.0 };
print(p.length()); // 5.0
}