Embed a Luau scripting engine in a Rust application without needing a C toolchain.
Run Luau scripts in the browser via the pure-Rust WebAssembly build.
Type-check Luau scripts before running them to catch errors early.
Swap in luaur as a near drop-in replacement for mlua-based projects.
| pjankiewicz/luaur | adindazu/tangoaudio | bigmacfive/turbo-graph | |
|---|---|---|---|
| Stars | 23 | 23 | 23 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 4/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Add as a Cargo dependency and pick optional feature flags such as serde, async, or macros as needed.
luaur is a line-for-line translation of Luau, the typed version of the Lua programming language used by Roblox, rewritten from its original C++ into Rust. It is not a set of bindings that call the old C++ code and not a fresh reimplementation written from scratch. It is the actual compiler, virtual machine, and type checker ported directly, and the author validated the translation by running Luau's own test suite: 5,347 unit tests pass, and 293 official test scripts produce identical results on the new Rust version. Because it is pure Rust with no C code involved, it can run anywhere Rust can, including inside a web browser through WebAssembly. There is a live demo where anyone can try running and type-checking Luau code directly in the browser with no installation needed. On top of the faithful translation, the project adds a friendlier Rust API called luaur-rt, deliberately designed to feel like the popular mlua library, so developers already familiar with mlua can pick it up quickly. This includes the same style of function calls, custom Rust types exposed to Lua scripts, and optional features like serde support for converting between Rust and Lua data, async support, and thread-safety helpers. The project also ported mlua's own test suite to check real compatibility, with 235 out of that suite's tests passing. Because luaur includes Luau's actual type checker, developers can check a script for type errors before running it, catching problems that a plain Lua interpreter would only find while running the code. The project is organized as several separate Rust crates so developers can depend on only the pieces they need, from the full umbrella package down to the lower-level virtual machine and type checker on their own.
A line-for-line Rust port of Roblox's typed Lua language (Luau), including its compiler, VM, and type checker, plus an mlua-compatible API.
Mainly Rust. The stack also includes Rust, WebAssembly, C++.
License terms are not stated in the README excerpt.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.