-
Notifications
You must be signed in to change notification settings - Fork 0
Home
sw-MLPL is Software Wrighter's Machine Learning Programming Language: a Rust-first, APL-inspired array and tensor language for learning, experimentation, visualization, and small-model training. It combines a language, a browser playground, native command-line tools, accelerator backends, worked demos, tutorials, and an inspectable runtime.
Try the browser playground with no installation, or begin with Getting Started.
flowchart LR
Learn[Learn array and ML ideas] --> Language[MLPL language]
Explore[Explore data and models] --> Language
Train[Train and fine-tune models] --> Language
Language --> Browser[Browser and WASM]
Language --> CPU[Native CPU]
Language --> MLX[Apple GPU via MLX]
Language --> CUDA[NVIDIA GPU via CUDA]
Browser --> Visualize[Interactive visualizations]
CPU --> Visualize
MLX --> Visualize
CUDA --> Visualize
- Work with scalar, vector, matrix, and higher-rank arrays using concise array operations.
- Preserve meaning with named axes and typed ML value tags.
- Build models from linear, activation, normalization, embedding, attention, residual, LoRA, recurrent, and Engram pieces.
- Differentiate expressions, optimize parameters, and observe training with loss telemetry.
- Train tiny language models, classifiers, board policies, and supported LoRA models.
- Explore classical ML, dimensionality reduction, attention, image models, neural thickets, cellular automata, and other executable demos.
- Render charts, heatmaps, decision boundaries, model diagrams, 3-D scenes, and animated visualizations.
- Run locally in a terminal, entirely in a browser, or connect a browser or terminal client to a native compute server.
- Use CPU everywhere, MLX on Apple Silicon, and CUDA on supported Linux/NVIDIA hosts.
- Embed MLPL in Rust with the
mlpl!macro or lower supported programs to native Rust binaries.
| Goal | Start here |
|---|---|
| Try it without installing anything | Browser and WASM |
| Install and run scripts locally | Getting Started |
| Understand the language | Language Tour |
| See the full feature inventory | Capability Matrix |
| Find a representative project | Use Cases |
| Use native CPU execution | Native CPU |
| Use an Apple Silicon GPU | Apple Silicon and MLX |
| Use an NVIDIA GPU | NVIDIA and CUDA |
| Connect a browser to native compute | Server and Remote Execution |
| Understand the implementation | Architecture and Flows |
| Browse demos and teaching material | Demos and Learning Paths |
| Find source documents and code | Resources and Reference |
| See known stale source documentation | Documentation Errata |
Links such as Use Cases navigate within this wiki. Links such as the repository README and the language reference open Markdown or text files in the sw-mlpl source repository. This distinction is used throughout the wiki.
The Recent Changes page summarizes user-visible additions from 2026-08-04 through 2026-09-02, including the expanded compiler subset, native extensions and ports, file/stream tooling, compact syntax, and structural dataflow visualization.
The Companion Repositories page maps the adjacent executable curricula, utilities, native extensions, reusable MLPL libraries, and the emufpga Serial Parameter Machine research project.