{"slug": "mlua", "name": "mlua", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 6, "warners": 1, "score": 2.947, "rising": 0.02, "first": "2025-11-24", "latest": "2026-10-18", "why": "I've used Lua extensively with Rust via the mlua library and it's excellent and full-featured.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 1, "compare": 0, "warn": 2}, "spark": [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "I've used Lua extensively with Rust via the mlua library and it's excellent and full-featured.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/mlua-rs/mlua", "official_url": "https://github.com/mlua-rs/mlua", "pricing": "", "aliases": ["mlua"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 802248448, "item_id": 50140528, "url": "https://news.ycombinator.com/item?id=50140528", "by": "petcat", "date": "2026-10-18", "stance": "recommend", "quote": "I've used Lua extensively with Rust via the mlua library and it's excellent and full-featured.", "excerpt": "I've used Lua extensively with Rust via the mlua library and it's excellent and full-featured. https://github.com/mlua-rs/mlua", "context": "", "use_case": "Lua bindings for Rust", "switched_from": "", "story": "Teal \u2013 A statically-typed dialect of Lua"}, {"id": 775508400, "item_id": 48469275, "url": "https://news.ycombinator.com/item?id=48469275", "by": "mplanchard", "date": "2026-06-09", "stance": "recommend", "quote": "We used mlua at $JOB for scripting support, and it worked great", "excerpt": "Best of luck! We used mlua at $JOB for scripting support, and it worked great, but we\u2019d have preferred a pure rust solution if one existed with the right performance profile", "context": "", "use_case": "Lua scripting in Rust", "switched_from": "", "story": "What it feels like to work with Mythos"}, {"id": 773550864, "item_id": 48346929, "url": "https://news.ycombinator.com/item?id=48346929", "by": "zengid", "date": "2026-05-31", "stance": "recommend", "quote": "I know game devs have already started by integrating lua, like with mlua", "excerpt": "I've been thinking a lot about a solution to Rust's notoriously slow compile times. From my research, it's not the borrow checker that is the issue, it's the heavy optimizations and monomorphization, and macro expansion [0]. There are efforts to improve Rust compile times, but I realized recently that it will never be lightning fast, so we (Rust users) should really be developing more scripting languages and DSLs tha", "context": "", "use_case": "", "switched_from": "", "story": "One year of Roto, a compiled scripting language for Rust"}, {"id": 773548192, "item_id": 48346762, "url": "https://news.ycombinator.com/item?id=48346762", "by": "zengid", "date": "2026-05-31", "stance": "recommend", "quote": "mlua and roto are some of the fastest", "excerpt": "khvzak has compiled some benchmarks. mlua and roto are some of the fastest: https://github.com/khvzak/script-bench-rs", "context": "", "use_case": "", "switched_from": "", "story": "One year of Roto, a compiled scripting language for Rust"}, {"id": 736560801, "item_id": 46035050, "url": "https://news.ycombinator.com/item?id=46035050", "by": "benwilber0", "date": "2025-11-24", "stance": "recommend", "quote": "I think the Rust/Lua interop story is pretty good.", "excerpt": "Looks neat. I built a programmable server for Server-Sent Events using a similar stack (Rust/mlua/axum) [1]. I think the Rust/Lua interop story is pretty good. [1] https://github.com/benwilber/tinysse", "context": "", "use_case": "Rust-Lua bindings", "switched_from": "", "story": "Fast Lua runtime written in Rust"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 775504832, "item_id": 48469052, "url": "https://news.ycombinator.com/item?id=48469052", "by": "ianm218", "date": "2026-06-09", "stance": "warn", "quote": "Mlua works for many use cases but is a wrapper around the C code", "excerpt": "Mlua works for many use cases but is a wrapper around the C code, so you need to bundle C as part of the build. So this is worse for cross compilation and makes it so you can't easily use mlua projects in wasm32-unkown-unknown. An example is that it would be hard to run a game in the browser that exposes Lua scripting with mlua. The other reason is that because mlua is just a wrapper around the C code, it has unsafe ", "context": "", "use_case": "", "switched_from": "", "story": "What it feels like to work with Mythos"}]}], "who": [], "tags": [], "use_cases": ["lua bindings for rust", "lua scripting in rust", "lua bindings library", "rust-lua bindings"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48464140", "title": "What it feels like to work with Mythos", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48323303", "title": "One year of Roto, a compiled scripting language for Rust", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46034142", "title": "Fast Lua runtime written in Rust", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50124730", "title": "Teal \u2013 A statically-typed dialect of Lua", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1, "neutral": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {"warn": 2}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 802248448, "item_id": 50140528, "url": "https://news.ycombinator.com/item?id=50140528", "by": "petcat", "date": "2026-10-18", "stance": "recommend", "quote": "I've used Lua extensively with Rust via the mlua library and it's excellent and full-featured.", "excerpt": "I've used Lua extensively with Rust via the mlua library and it's excellent and full-featured. https://github.com/mlua-rs/mlua", "context": "", "use_case": "Lua bindings for Rust", "switched_from": "", "story": "Teal \u2013 A statically-typed dialect of Lua"}, {"id": 775508400, "item_id": 48469275, "url": "https://news.ycombinator.com/item?id=48469275", "by": "mplanchard", "date": "2026-06-09", "stance": "recommend", "quote": "We used mlua at $JOB for scripting support, and it worked great", "excerpt": "Best of luck! We used mlua at $JOB for scripting support, and it worked great, but we\u2019d have preferred a pure rust solution if one existed with the right performance profile", "context": "", "use_case": "Lua scripting in Rust", "switched_from": "", "story": "What it feels like to work with Mythos"}, {"id": 775506848, "item_id": 48469178, "url": "https://news.ycombinator.com/item?id=48469178", "by": "mplanchard", "date": "2026-06-09", "stance": "warn", "quote": "", "excerpt": "The WASM thing makes sense. Do you need unknown-unknown? Seems like support exists for emscripten and wasi: https://github.com/mlua-rs/mlua/issues/366 It just seems like a lot of hassle to write a lua interpreter, although it would be nice to see a high quality one in Rust :) Hematita was promising, but looks abandoned.", "context": "", "use_case": "", "switched_from": "", "story": "What it feels like to work with Mythos"}, {"id": 775504832, "item_id": 48469052, "url": "https://news.ycombinator.com/item?id=48469052", "by": "ianm218", "date": "2026-06-09", "stance": "warn", "quote": "Mlua works for many use cases but is a wrapper around the C code", "excerpt": "Mlua works for many use cases but is a wrapper around the C code, so you need to bundle C as part of the build. So this is worse for cross compilation and makes it so you can't easily use mlua projects in wasm32-unkown-unknown. An example is that it would be hard to run a game in the browser that exposes Lua scripting with mlua. The other reason is that because mlua is just a wrapper around the C code, it has unsafe ", "context": "", "use_case": "", "switched_from": "", "story": "What it feels like to work with Mythos"}, {"id": 773550864, "item_id": 48346929, "url": "https://news.ycombinator.com/item?id=48346929", "by": "zengid", "date": "2026-05-31", "stance": "recommend", "quote": "I know game devs have already started by integrating lua, like with mlua", "excerpt": "I've been thinking a lot about a solution to Rust's notoriously slow compile times. From my research, it's not the borrow checker that is the issue, it's the heavy optimizations and monomorphization, and macro expansion [0]. There are efforts to improve Rust compile times, but I realized recently that it will never be lightning fast, so we (Rust users) should really be developing more scripting languages and DSLs tha", "context": "", "use_case": "", "switched_from": "", "story": "One year of Roto, a compiled scripting language for Rust"}, {"id": 773548192, "item_id": 48346762, "url": "https://news.ycombinator.com/item?id=48346762", "by": "zengid", "date": "2026-05-31", "stance": "recommend", "quote": "mlua and roto are some of the fastest", "excerpt": "khvzak has compiled some benchmarks. mlua and roto are some of the fastest: https://github.com/khvzak/script-bench-rs", "context": "", "use_case": "", "switched_from": "", "story": "One year of Roto, a compiled scripting language for Rust"}, {"id": 736560912, "item_id": 46035057, "url": "https://news.ycombinator.com/item?id=46035057", "by": "creata", "date": "2025-11-24", "stance": "neutral", "quote": "Specifically, the crate uses mlua", "excerpt": "Yep. Specifically, the crate uses mlua: https://github.com/ArkForgeLabs/Astra/blob/f812bb0dc2881d74061b53178e05d9d76ec13790/Cargo.toml#L34-L42", "context": "", "use_case": "Lua bindings library", "switched_from": "", "story": "Fast Lua runtime written in Rust"}, {"id": 736560801, "item_id": 46035050, "url": "https://news.ycombinator.com/item?id=46035050", "by": "benwilber0", "date": "2025-11-24", "stance": "recommend", "quote": "I think the Rust/Lua interop story is pretty good.", "excerpt": "Looks neat. I built a programmable server for Server-Sent Events using a similar stack (Rust/mlua/axum) [1]. I think the Rust/Lua interop story is pretty good. [1] https://github.com/benwilber/tinysse", "context": "", "use_case": "Rust-Lua bindings", "switched_from": "", "story": "Fast Lua runtime written in Rust"}]}