This document serves as the evolving roadmap for RunMat to track the progress of the project towards the 1.0 release.
RunMat is a fast, local-first MATLAB-compatible runtime. Same syntax engineers have used for decades, with a modern stack underneath: Rust, a JIT compiler, and automatic GPU acceleration. RunMat runs as a CLI, in the browser via WebAssembly, and (soon) as a native desktop app. We're building the foundation first—a runtime engineers can adopt without workflow changes or procurement headaches—with richer tooling and assistance for math and physics work to follow.
- CLI — Install and run
runmatin the terminal; REPL, script execution, Jupyter kernel. - Browser — Live at runmat.com/sandbox; full IDE with code and notebook editors, GPU-accelerated plotting, variable inspector, and file management — all running locally in the browser via WebAssembly and WebGPU.
- Desktop app — In development; will offer a native-style experience, local project management, and optional integrations.
The core language and runtime are complete. The major remaining items are:
- The package manager needs to be implemented.
- The JIT currently optimizes a subset of the language, with an interpreter fallback for operations that are currently not implemented in the JIT. Full JIT coverage will be implemented before the 1.0 release.
- Continued expansion of built-in function coverage. RunMat ships 330+ built-in functions across arrays, linear algebra, FFT/signal processing, statistics, plotting, strings, and I/O. Additional functions continue to be added based on user needs.
The below tracks the progress of the project towards the 1.0 release to date.
- Expand lexer to cover MATLAB operators, keywords and comments.
- Introduce
runmat-parsercrate producing an AST. - Basic REPL that tokenizes input and prints tokens.
- Set up CI with
cargo fmtandcargo check.
- Complete parser with precedence rules and matrix syntax.
- Extend parser to support control flow, function definitions and array indexing so that typical MATLAB files can be parsed without errors.
- High-level IR (
runmat-hir) with scope and type annotations. - Simple interpreter running on an unoptimised bytecode (
runmat-vm). - Headless plotting backend emitting SVG/PNG.
- Jupyter kernel communication skeleton.
- Cranelift-based JIT (
runmat-turbine). - BLAS/LAPACK bindings and array primitives (
runmat-runtime). - Generational GC with optional pointer compression (
runmat-gc). - Snapshot creator to preload the standard library (
runmat-snapshot). - v0.1 release.
- Full language coverage (
/docs/language-coverage). - v0.2 release.
- Full standard library pass for canonical built-ins ((arrays, linalg, FFT/signal, stats, strings, I/O, ...).
- Implement LSP server.
- Implement VSCode / Cursor extension.
- Complete Accelerate (GPU) support.
- Finish plotting library integration.
- Implement package manager.
- Compile runtime to WebAssembly with WebGPU acceleration.
- Deploy sandbox web app with full IDE experience.
- Service worker plotting with GPU-accelerated rendering.
- Cloud infrastructure (GCP, Terraform, Docker Compose).
- Organizations, projects, and memberships.
- Notebook editor with markdown and code cells.
- RunMat Agent v1 with streaming and persistence.
- Desktop app with native experience and local project management.