Luau is a small, fast, and embeddable programming language based on Lua with a gradual type system.
Luau addresses the need for a modern scripting language that maintains compatibility with Lua 5.1 while adding static type checking and performance improvements. It achieves this through a heavily modified Lua 5.1 runtime with a completely rewritten interpreter, incorporating a state-of-the-art type inference system alongside optional type annotations. The language preserves most of the Lua 5.1 API, making it relatively straightforward to integrate into existing projects that use Lua bindings.
Luau suits teams building games or applications that benefit from embedded scripting with optional static typing. It is particularly well-suited for projects where gradual typing adoption is valuable, allowing developers to add type annotations incrementally rather than requiring them upfront. The tool comes with a command-line REPL for interactive use and a type checker and linter called luau-analyze that can be configured per-file or project-wide. A community-maintained language server frontend enables editor integration for those using text editors.
The project receives issue reports primarily from its user base rather than the core team, reflecting substantial real-world adoption. Maintainers typically respond to new issues and pull requests within a few days. Work in the issue tracker centers on bug fixes, analysis, and enhancements.