Lua (programming language)

Lua (/ˈlə/ LOO; from Portuguese: lua [ˈlu.(w)ɐ] meaning moon)[lower-alpha 1] is a lightweight, high-level, multi-paradigm programming language designed primarily for embedded use in applications.[3] Lua is cross-platform, since the interpreter of compiled bytecode is written in ANSI C,[4] and Lua has a relatively simple C API to embed it into applications.[5]

Lua
ParadigmMulti-paradigm: scripting, imperative (procedural, prototype-based, object-oriented), functional
Designed byRoberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
First appeared1993; 28 years ago (1993)
Stable release
5.4.3[1]  / 29 March 2021; 5 months ago (29 March 2021)
Typing disciplineDynamic, strong, duck
Implementation languageANSI C
OSCross-platform
LicenseMIT License
Filename extensions.lua
Websitewww.lua.org
Major implementations
Lua, LuaJIT, LuaVela, MoonSharp, Luvit, LuaRT
Dialects
Metalua, Idle, GSL Shell, Luau
Influenced by
C++, CLU, Modula, Scheme, SNOBOL
Influenced
GameMonkey, Io, JavaScript, Julia, MiniD, Red, Ring,[2] Ruby, Squirrel, MoonScript, C--

Lua was originally designed 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.