Development Roadmap
Mozhi Programming Language
Version 2.0 · Updated August 2026
Overall Progress
130
Total Features
29
Completed
1
In Progress
100
Planned
12
Phases
10
Long-Term
Phase 1 — Language Core
Language Core
Critical · v2.1| Feature | Status | Description |
|---|---|---|
| Generic Functions | Planned | Functions parameterized by type |
| Generic Types | Planned | Structs/enums with type parameters |
| Trait / Interface System | Planned | Full trait dispatch, default methods |
| Struct Methods | Planned | impl blocks with self receiver |
| Enum Methods | Planned | impl blocks for enums |
| Extension Methods | Planned | Add methods to existing types |
| Named Arguments | Planned | f(name: "Alice") |
| Default Arguments | Planned | Parameters with default values |
| Function Overloading | Planned | Same name, different signatures |
| Operator Overloading | Planned | Custom +, -, *, / for types |
| Lambda Functions | ✓ Done | Anonymous functions |
| Closures | ✓ Done | Capture enclosing scope |
| Iterator System | Planned | map, filter, collect, lazy eval |
| Range Type | Planned | 1..10, 1..=10, 0.. |
| Pattern Matching Enhancement | Planned | Guards, or-patterns, bindings |
| Destructuring | Planned | let (x, y) = point |
| Tuple Type | Planned | (int, string, bool) |
Phase 2 — Collections
Collections
High · v2.2| Feature | Status | Description |
|---|---|---|
| Vector | Planned | Contiguous growable array |
| Hash Map | Planned | O(1) key-value lookup |
| Hash Set | Planned | Unique element collection |
| Linked List | Planned | Doubly-linked list |
| Queue | Planned | FIFO queue |
| Stack | Planned | LIFO stack |
| Deque | Planned | Double-ended queue |
| Priority Queue | Planned | Heap-based priority |
| Ordered Map | Planned | Insertion-ordered map |
| Ordered Set | Planned | Insertion-ordered set |
| Ring Buffer | Planned | Fixed-size circular buffer |
| Bit Set | Planned | Compact bit storage |
Phase 3 — Standard Library
Standard Library
High · v2.3| Module | Status | Description |
|---|---|---|
| std.fs | Planned | File system operations |
| std.path | Planned | Cross-platform path manipulation |
| std.process | Planned | Process spawning, pipe, exit |
| std.env | Planned | Environment variables |
| std.time | Planned | Timestamps, durations, sleep |
| std.date | Planned | Date parsing, formatting, timezones |
| std.random | Planned | Random number generation |
| std.uuid | Planned | UUID v4/v5 generation |
| std.base64 | Planned | Base64 encode/decode |
| std.hex | Planned | Hex encode/decode |
| std.json | Planned | JSON parse, stringify, streaming |
| std.xml | Planned | XML parse, serialize, XPath |
| std.csv | Planned | CSV read/write |
| std.toml | Planned | TOML parse/serialize |
| std.yaml | Planned | YAML parse/serialize |
| std.compress | Planned | gzip, zlib, deflate, bzip2 |
| std.archive | Planned | tar, zip, extraction |
| std.crypto | Planned | AES, RSA, HMAC, SHA family |
| std.hash | Planned | MD5, SHA-256, SHA-512, BLAKE3 |
Phase 4 — Networking
Networking
Medium · v2.4| Feature | Status | Description |
|---|---|---|
| HTTP Client | Planned | GET, POST, PUT, DELETE, streaming, TLS |
| HTTP Server | Planned | Routing, middleware, static files |
| TCP | Planned | TCP socket client/server |
| UDP | Planned | UDP socket support |
| WebSocket | Planned | Client/server, ping/pong, frames |
| DNS | Planned | DNS resolution, custom resolvers |
| TLS | Planned | TLS/SSL secure connections |
| URL Parser | Planned | URL parsing, building, encoding |
| MIME Parser | Planned | MIME type detection, multipart |
Phase 5 — Concurrency
Concurrency
Medium · v2.5| Feature | Status | Description |
|---|---|---|
| Threads | Planned | OS-level threads with join/detach |
| Async | Planned | async fn returning Future<T> |
| Await | Planned | await expression for async functions |
| Task Scheduler | Planned | Cooperative runtime, work stealing |
| Channels | Planned | MPSC, SPSC, broadcast channels |
| Mutex | Planned | Mutual exclusion lock |
| RWLock | Planned | Read-write lock |
| Atomic Types | Planned | AtomicInt, AtomicBool, AtomicPtr |
| Thread Pool | Planned | Fixed-size worker pool |
Phase 6 — Package Manager
Package Manager
High · v2.2| Feature | Status | Description |
|---|---|---|
| mozhi install | ✓ Done | Install dependencies from mozhi.toml |
| mozhi update | ✓ Done | Update dependencies |
| mozhi remove | ✓ Done | Remove dependencies |
| mozhi search | ✓ Done | Search packages |
| mozhi publish | Partial | Stub — needs public registry |
| Dependency Lock File | ✓ Done | mozhi.lock with resolved versions |
| Version Resolution | ✓ Done | Semver with ^, ~, >=, <, * |
| Offline Cache | ✓ Done | ~/.mozhi/cache/ for offline builds |
| Mirrors | Planned | Mirror servers for faster downloads |
| Private Registry | Planned | Self-hosted registry |
Phase 7 — Compiler
Compiler
Critical · v3.0| Feature | Status | Description |
|---|---|---|
| Lexer | ✓ Done | Full tokenizer |
| Parser | ✓ Done | Recursive descent + Pratt parser |
| AST Generation | ✓ Done | Complete AST |
| Semantic Analysis | ✓ Done | Scope resolution, validation |
| Type Checking | ✓ Done | Static type checking with inference |
| Incremental Compilation | Planned | Only recompile changed modules |
| Bytecode Generation | Planned | Compile to .sibc bytecode |
| Dead Code Elimination | Planned | Remove unreachable code |
| Constant Folding | Planned | Evaluate constants at compile time |
| Inline Expansion | Planned | Inline small functions |
| Escape Analysis | Planned | Stack vs heap allocation |
| Register Allocation | Planned | Efficient register usage |
| Link Time Optimization | Planned | Cross-module optimization |
Phase 8 — Runtime
Runtime
Critical · v3.0| Feature | Status | Description |
|---|---|---|
| Tree-walking Interpreter | ✓ Done | Current execution model (v2.0) |
| Bytecode VM | Planned | Stack-based VM for .sibc |
| Garbage Collector | Planned | Mark-sweep, generational |
| JIT Compiler | Planned | Just-in-time for hot paths |
| Native Code Generator | Planned | LLVM backend |
| Dynamic Loader | Planned | Load .mzl at runtime |
| Plugin System | Planned | Dynamically loadable modules |
Phase 9 — Developer Experience
Developer Experience
Medium · v3.0| Feature | Status | Description |
|---|---|---|
| LSP Server | Planned | Language Server Protocol |
| Auto Completion | Planned | Context-aware completion |
| Hover Help | Planned | Show type and docs on hover |
| Go to Definition | Planned | Jump to symbol definition |
| Rename Symbol | Planned | Project-wide renaming |
| Formatter (mozhi fmt) | ✓ Done | Basic code formatting |
| Linter (mozhi lint) | ✓ Done | Basic linting |
| Debugger | Planned | Source-level debugger |
| Profiler | Planned | CPU and memory profiler |
| Coverage Tool | Planned | Code coverage reporting |
| Documentation Generator | ✓ Done | mozhi doc generates API docs |
Phase 10 — Testing
Testing
High · v2.3| Feature | Status | Description |
|---|---|---|
| Unit Testing | ✓ Done | mozhi test runs tests/ |
| Integration Testing | Planned | Multi-module tests |
| Benchmark Framework | ✓ Done | 26 tests, statistics, history |
| Mock Library | Planned | Mock functions and types |
| Snapshot Testing | Planned | Golden file comparison |
| Property Testing | Planned | Random input verification |
| Fuzz Testing | Planned | Automated fuzzing |
Phase 11 — Cross Platform
Cross Platform
High · v2.2| Platform | Architecture | Status | Notes |
|---|---|---|---|
| Linux | x86_64 | ✓ Done | Primary development platform |
| Linux | ARM64 | ✓ Done | Raspberry Pi, ARM servers |
| Alpine Linux | x86_64 | ✓ Done | Static musl build |
| Alpine Linux | ARM64 | ✓ Done | Static musl build |
| Termux (Android) | ARM64 | ✓ Done | Via static musl build |
| macOS | Intel | ✓ Done | Mach-O binary |
| macOS | Apple Silicon | ✓ Done | Mach-O binary |
| Windows | x86_64 | ✓ Done | PE32+ executable |
| WebAssembly | wasm32 | Planned | Browser execution |
Phase 12 — Security
Security
Low · v3.0+| Feature | Status | Description |
|---|---|---|
| Sandboxed Execution | Planned | Restrict file/network/process access |
| Capability Permissions | Planned | Explicit permission grants |
| Memory Leak Detection | Planned | Allocation tracking |
| Race Detection | Planned | Thread sanitizer |
| Static Analyzer | Planned | Compile-time security analysis |
| Secure Package Verification | Planned | Package signing |
| Package Signature Validation | Planned | GPG/minisign checking |
Long-Term Goals
These are ambitious goals that extend beyond the 12-phase roadmap.
Self-hosting Compiler
Rewrite the Mozhi compiler in Mozhi itself
Native IDE
Full-featured IDE built specifically for Mozhi
Official GUI Toolkit
Cross-platform GUI library (desktop + mobile)
Database Driver Framework
Unified interface for SQL/NoSQL databases
Embedded Runtime
Lightweight runtime for embedded systems
Plugin Ecosystem
VS Code, IntelliJ, Vim plugins
Official Package Registry
Hosted registry at registry.mozhi.org
Continuous Benchmark Dashboard
Automated CI benchmark with web dashboard
Language Server Ecosystem
LSP for all major editors
Stable ABI
Binary compatibility across versions
Version Timeline
| Version | Target | Focus |
|---|---|---|
| v2.0 | ✓ Released | New syntax, C++/ASM/Rust backend |
| v2.1 | Q3 2026 | Language core: generics, traits, iterators |
| v2.2 | Q4 2026 | Collections + package manager |
| v2.3 | Q1 2027 | Standard library + testing |
| v2.4 | Q2 2027 | Networking library |
| v2.5 | Q3 2027 | Concurrency (threads, async/await) |
| v3.0 | Q4 2027 | Bytecode VM + JIT + native codegen |
| v3.1 | Q1 2028 | Developer experience: LSP, debugger |
| v4.0 | Q4 2028 | Self-hosting compiler |