Thanks to visit codestin.com
Credit goes to luau.org

Skip to content
Hina, a Hawaiian monk seal and the official mascot of the Luau language

Luau

Luau (lowercase u, /ˈlu.aʊ/) is a small, fast, and embeddable programming language based on Lua with a gradual type system.

Performance

Luau is a high-performance managed language with a fast bytecode compiler and interpreter, and an optimized, incremental garbage collector. Its optional JIT compiler runs on x64 and arm64, and supports plugins that extend native code generation to any embedder-defined types.

Safety

Luau has a state-of-the-art gradual type system with features like type refinements and type functions. This system is powered by an ambitious and powerful type inference engine that aims to both rule out program errors, and provide autocomplete with minimal annotations.

Accessibility

Luau is designed to be easy-to-learn, and easy-to-use over time. The syntax of the language is small and easy to pick up, and the semantics of the language should be broadly unsurprising to most programmers, with recursive functions, conventional loops and branching, and so forth.

Delightfulness

Luau aims to be pleasant and productive to use, and to make programming as fun as it can be! Besides the language itself, we’re building a full suite of developer tools: package management, linting, code transformation, documentation generation, and servers for editing and debugging code.

Embeddability

Luau, like Lua before it, is designed with embedding in mind. The language features an extended version of Lua’s C API with better support for coroutines and yielding, code coverage, and more performant, tagged userdata. We’ve also carefully sandboxed Luau, limiting the exposed API surface by default and enabling embedders to safely support executing untrusted code from their users.

Compatibility

Whenever possible, Luau aims to be backwards-compatible with Lua 5.1 and at the same time to incorporate features from later revisions of Lua. However, Luau is not a full superset of later versions of Lua - we do not always agree with Lua design decisions, and have different use cases and constraints. All post-5.1 Lua features, along with their support status in Luau, are documented here.