git404hub

what is luaur fr?

pjankiewicz/luaur — explained in plain English

Analysis updated 2026-05-18

23RustAudience · developerComplexity · 4/5Setup · moderate

tl;dr

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.

vibe map

mindmap
  root((luaur))
    What it does
      Rust port of Luau
      Compiler VM and type checker
      Validated against Luau tests
      Runs on WebAssembly
    Tech stack
      Rust
      WebAssembly
      C++ origin
    Use cases
      Embed scripting in Rust apps
      Browser based Luau demo
      Type check before running
    Audience
      Rust developers
      Game and tooling engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Embed a Luau scripting engine in a Rust application without needing a C toolchain.

VIBE 2

Run Luau scripts in the browser via the pure-Rust WebAssembly build.

VIBE 3

Type-check Luau scripts before running them to catch errors early.

VIBE 4

Swap in luaur as a near drop-in replacement for mlua-based projects.

what's the stack?

RustWebAssemblyC++

how it stacks up fr

pjankiewicz/luauradindazu/tangoaudiobigmacfive/turbo-graph
Stars232323
LanguageRustRustRust
Setup difficultymoderatemoderatemoderate
Complexity4/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Add as a Cargo dependency and pick optional feature flags such as serde, async, or macros as needed.

License terms are not stated in the README excerpt.

in plain english

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.

prompts (copy fr)

prompt 1
Show me how to expose a Rust function to a Luau script using this library's Lua API.
prompt 2
How do I enable the serde and async features when adding luaur to my Cargo.toml?
prompt 3
Explain how the type checker in this repo lets me catch errors before running a Luau script.
prompt 4
Walk me through building a Rust UserData type with custom methods that Luau scripts can call.

Frequently asked questions

what is luaur fr?

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.

What language is luaur written in?

Mainly Rust. The stack also includes Rust, WebAssembly, C++.

What license does luaur use?

License terms are not stated in the README excerpt.

How hard is luaur to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is luaur for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.