A dual-dialect APL interpreter — pure Rust compiled to WebAssembly
Written entirely from scratch in Rust — no dependencies on any existing APL implementation. The goals: standards-conformant, blazing fast, and fully runnable in a web browser via WebAssembly.
Supports two dialects: Dyalog APL (default) and GNU APL.
Defaults: ⎕IO←1 (1-indexed arrays), ⎕DIALECT←'dyalog'.
Switch to GNU APL with ⎕DIALECT←'gnu'.
The AST viewer shows exactly which optimizations were applied to your code.
Jon Schuringa — [email protected]
⚠️ APL Run is under active development — not for production use.