Lua
| Lua | |
|---|---|
| Paradigm | Multi-paradigm: scripting, imperative (procedural, prototype-based, object-oriented), functional, meta, reflective | 
| Designed by | Roberto Ierusalimschy Waldemar Celes Luiz Henrique de Figueiredo | 
| First appeared | 1993 | 
| Stable release | 5.4.8 
   / 4 June 2025 | 
| Typing discipline | Dynamic, strong, duck | 
| Implementation language | ANSI C | 
| OS | Cross-platform | 
| License | MIT | 
| Filename extensions | .lua | 
| Website | lua | 
| Major implementations | |
| Lua, LuaJIT, LuaVela, MoonSharp, | |
| Dialects | |
| GSL Shell, Luau | |
| Influenced by | |
| C++, CLU, Modula, Scheme, SNOBOL | |
| Influenced | |
| GameMonkey, Io, JavaScript, Julia, Red, Ring, Ruby, Squirrel, C--, Luau, | |
Lua (/ˈluːə/ LOO-ə; from Portuguese: lua [ˈlu(w)ɐ] meaning moon) is a lightweight, high-level, multi-paradigm programming language designed mainly for embedded use in applications. Lua is cross-platform software, since the interpreter of compiled bytecode is written in ANSI C, and Lua has a relatively simple C application programming interface (API) to embed it into applications.
Lua originated in 1993 as a language for extending software applications to meet the increasing demand for customization at the time. It provided the basic facilities of most procedural programming languages, but more complicated or domain-specific features were not included; rather, it included mechanisms for extending the language, allowing programmers to implement such features. As Lua was intended to be a general embeddable extension language, the designers of Lua focused on improving its speed, portability, extensibility and ease-of-use in development.