# Lua

> lightweight programming language

**Wikidata**: [Q207316](https://www.wikidata.org/wiki/Q207316)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Lua)  
**Source**: https://4ort.xyz/entity/lua

## Summary
Lua is a lightweight programming language, primarily known for its embeddability and use as a scripting language. It supports multiple programming paradigms, including functional, object-oriented, and imperative styles, and is designed to be cross-platform.

## Key Facts
*   **Type**: Lightweight programming language, scripting language, functional programming language, object-based language, imperative programming language, interpreted language, compiled language, free software.
*   **Creator**: Roberto Ierusalimschy.
*   **Inception**: 1993.
*   **License**: MIT License.
*   **Operating System**: Cross-platform.
*   **Country of Origin**: Brazil.
*   **Latest Stable Version**: 5.5 (as of 2025-12-22).
*   **Named After**: "Moon" (Portuguese).
*   **File Extension**: `.lua`.
*   **Influenced By**: CLU, Simple Object Language, SNOBOL, Modula, Modula-2.

## FAQs
### Q: What is Lua?
A: Lua is a lightweight programming language designed for embeddability and use as a scripting language. It is known for its small footprint, speed, and flexibility, supporting multiple programming paradigms.

### Q: Who created Lua?
A: Lua was created by Roberto Ierusalimschy, a Brazilian computer scientist. He is also listed as the developer and designer of the language.

### Q: When was Lua first released?
A: Lua was first created in 1993.

### Q: What license does Lua use?
A: Lua is distributed under the MIT License, making it free software.

### Q: What are some examples of where Lua is used?
A: Lua is used in various applications, including automation software like Hammerspoon for macOS, as a Unix shell (hush), and in game development (e.g., Open 3D Engine, Beyond All Reason). It also powers Wikimedia modules.

## Why It Matters
Lua matters significantly due to its unique combination of being lightweight, embeddable, and highly performant, making it an ideal choice for a wide range of applications where resource efficiency is crucial. Its design allows it to be easily integrated into larger applications as a scripting language, providing flexibility and extensibility without adding significant overhead. This characteristic has led to its widespread adoption in areas such as game development, where it powers the scripting logic of many popular titles and engines like the Open 3D Engine. Beyond gaming, Lua's cross-platform nature and multi-paradigm support make it versatile for system automation, embedded systems, and even as a shell scripting language. Its MIT License ensures its accessibility and encourages broad community contributions and usage. Originating from Brazil, Lua also represents a notable contribution from a non-traditional tech hub to the global programming landscape.

## Notable For
*   **Lightweight and Embeddable**: Specifically designed to be small, fast, and easily integrated into other applications, making it a popular choice for scripting in various systems.
*   **Multi-Paradigm Support**: Supports functional, object-oriented, imperative, and prototype-based programming paradigms, offering flexibility to developers.
*   **Cross-Platform Compatibility**: Functions across various operating systems, enhancing its utility for diverse development environments.
*   **Brazilian Origin**: Developed in Brazil by Roberto Ierusalimschy, distinguishing it from many other prominent programming languages.
*   **Specific Applications**: Powers notable projects like Hammerspoon (macOS automation) and hush (Unix shell), and is used in game engines and Wikimedia modules.

## Body

### Definition and Classification
Lua is defined as a lightweight programming language. It is classified as a scripting language, a functional programming language, an object-based language, an imperative programming language, and an interpreted language. It can also be considered a compiled language and is free software. The language is named after the Portuguese word for "Moon."

### Development History
Lua was created in 1993. Roberto Ierusalimschy is credited as its creator, developer, and designer. The language's country of origin is Brazil.

### Technical Details
*   **License**: Lua operates under the MIT License.
*   **Versions**:
    *   Preferred stable version: 5.5 (released 2025-12-22).
    *   Other stable versions include 5.4.8 (2025-06-04), 5.4.7 (2024-06-25), 5.4.6 (2023-05-14), 5.4.5 (2023-04-29), 5.4.4 (2022-01-26), 5.4.3 (2021-03-29), 5.3.5 (2018-07-10), 5.3.4 (2017-01-30), and 5.3.3 (2016-06-06).
*   **Typing Discipline**: Lua employs dynamic typing, strong typing, and duck typing.
*   **Operating System**: It is cross-platform.
*   **File Extensions**: Common file extensions include `.lua`, `luna`, `lunaire`, and `anair`.
*   **Programming Paradigms**: Supports multi-paradigm programming, including object-oriented programming, functional programming, procedural programming, prototype-based programming, and imperative programming.

### Influences and Alternatives
*   **Influenced By**: Lua was influenced by programming languages such as CLU, Simple Object Language, SNOBOL, Modula, and Modula-2.
*   **Competitors/Alternatives**:
    *   Tcl: A scripting language, considered a direct competitor in embedded scripting and automation domains.
    *   Python: A general-purpose programming language, often used for automation and embedded systems.
    *   JavaScript: A lightweight scripting language, also used for embedding and automation.

### Applications and Related Entities
Lua is used in various contexts, including:
*   **Automation**: Hammerspoon (Lua-based automation software for macOS).
*   **System Shells**: hush (Unix shell based on Lua).
*   **Game Development**: Open 3D Engine (free and open-source 3D engine), Beyond All Reason (open-source real-time strategy game), The Powder Toy (falling-sand game).
*   **Wikimedia Modules**: Module:UrlCheck/i18n, Module:Link utilities/i18n, Module:Phone, Module:Note, Module:Sitelinks, Module:Exchange rate, Module:MarkerTypesList, Module:Link utilities/Phone numbers, Module:VCard/Unesco.
*   **Other Software**: Prosody (XMPP server), Zee (experimental lightweight editor).
*   **Integration**: SPARQL (MediaWiki extension that allows executing SPARQL queries and templating their results via Lua).

### Identifiers and Links
*   **Official Website**: `https://www.lua.org/` (English), `https://www.lua.org/portugues.html` (Portuguese).
*   **Source Code Repository**: `https://github.com/lua/lua`.
*   **Logo**: `https://commons.wikimedia.org/wiki/Special:FilePath/Lua-Logo.svg`.
*   **GND ID**: 7547043-3.
*   **Freebase ID**: `/m/0chpd`.
*   **Open Hub ID**: `lua`.
*   **Quora Topic**: `Lua-programming-language`.
*   **GitHub Topic**: `lua`.
*   **SteamDB Tech ID**: `Lua`.
*   **Wikipedia Title**: `Lua`.
*   **ArchWiki Article**: `Lua`.
*   **Commons Category**: `Lua (programming language)`.
*   **Mastodon Address**: `lualang@fosstodon.org`.
*   **Fandom Article ID**: `code:Lua`.
*   **Lemmy Community ID**: `lua@programming.dev`.
*   **Stack Exchange Tag**: `lua`, `lua-5.3`, `tex.stackexchange.com/tags/lua`.
*   **GitLab Topic ID**: `lua`.
*   **Alternativeto Software ID**: `lua`.
*   **Semantic Scholar Topic ID**: `140912`.
*   **Free Software Directory Entry**: `Lua`.
*   **Library of Congress Authority ID**: `sh2004007514`.
*   **National Library of Israel J9U ID**: `987007563918605171`.
*   **Bibliothèque Nationale de France ID**: `166522948`.
*   **Internet Game Database Game Engine ID**: `lua`.

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Lua",
  "description": "lightweight programming language",
  "url": "https://www.lua.org/",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q212791",
    "https://en.wikipedia.org/wiki/Lua",
    "https://www.freebase.com/m/0chpd",
    "https://d-nb.info/gnd/7547043-3",
    "https://www.openhub.net/p/lua",
    "https://quora.com/topic/Lua-programming-language",
    "https://github.com/topics/lua",
    "https://steamdb.info/tech/Lua",
    "https://archlinux.org/packages/extra/x86_64/lua/",
    "https://commons.wikimedia.org/wiki/Category:Lua_(programming_language)",
    "https://fandom.com/wiki/code:Lua",
    "https://lemmy.world/c/lua@programming.dev",
    "https://stackoverflow.com/tags/lua",
    "https://gitlab.com/explore/projects/topics/lua",
    "https://alternativeto.net/software/lua/",
    "https://www.semanticscholar.org/topic/140912",
    "https://directory.fsf.org/wiki/Lua",
    "http://id.loc.gov/authorities/sh2004007514",
    "http://katalog.nli.org.il/F/?func=find-b&local_base=NLI10&find_code=SYS&request=987007563918605171",
    "https://catalogue.bnf.fr/ark:/12148/cb166522948",
    "https://www.igdb.com/game_engines/lua"
  ],
  "additionalType": [
    "https://schema.org/ProgrammingLanguage",
    "https://schema.org/SoftwareApplication"
  ],
  "license": "https://www.lua.org/license.html",
  "dateCreated": "1993",
  "creator": {
    "@type": "Person",
    "name": "Roberto Ierusalimschy"
  },
  "operatingSystem": "cross-platform",
  "softwareVersion": "5.5"
}

## References

1. [Source](https://www.lua.org/about.html)
2. [Source](https://www.lua.org/authors.html)
3. [Source](https://www.lua.org/license.html)
4. [The lua Open Source Project on Open Hub: Licenses Page. Open Hub](https://www.openhub.net/p/lua/licenses)
5. [The lua Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/lua/analyses/latest/languages_summary)
6. [Source](https://lua.org/versions.html#5.5)
7. [[ANN] Lua 5.4.8 now available. 2025](https://groups.google.com/g/lua-l/c/cUHfNqHFviM)
8. [[ANN] Lua 5.4.7 now available. 2024](https://groups.google.com/g/lua-l/c/dOrigcoQin8)
9. [[ANN] Lua 5.4.6 now available. 2023](https://marc.info/?l=lua-l&m=168405965608207&w=2)
10. [[ANN] Lua 5.4.5 now available. 2023](http://lua-users.org/lists/lua-l/2023-04/msg00080.html)
11. [Lua 5.4.4 now available. 2022](http://lua-users.org/lists/lua-l/2022-01/msg00169.html)
12. [2022](https://github.com/lua/lua/releases/tag/v5.4.4)
13. [Release 5.4.3. 2021](https://github.com/lua/lua/releases/tag/v5.4.3)
14. [Lua: version history](http://www.lua.org/versions.html)
15. [Release 5.3.4. 2017](https://github.com/lua/lua/releases/tag/v5-3-4)
16. [Release 5.3.3. 2016](https://github.com/lua/lua/releases/tag/5.3.3)
17. [Release 1.0. 2015](https://github.com/lua/lua/releases/tag/1.0)
18. [Release 1.1. 2015](https://github.com/lua/lua/releases/tag/1.1)
19. [Release 2.1. 2015](https://github.com/lua/lua/releases/tag/2.1)
20. [Release 2.2. 2015](https://github.com/lua/lua/releases/tag/2.2)
21. [Release 2.4. 2015](https://github.com/lua/lua/releases/tag/2.4)
22. [Release 2.5. 2015](https://github.com/lua/lua/releases/tag/2.5)
23. [Release 3.0. 2015](https://github.com/lua/lua/releases/tag/3.0)
24. [Release 3.1. 2015](https://github.com/lua/lua/releases/tag/3.1)
25. [Release 3.2. 2015](https://github.com/lua/lua/releases/tag/3.2)
26. [Release 3.2.1. 2015](https://github.com/lua/lua/releases/tag/3.2.1)
27. [Release 3.2.2. 2015](https://github.com/lua/lua/releases/tag/3.2.2)
28. [Release 4.0. 2015](https://github.com/lua/lua/releases/tag/4.0)
29. [Release 4.0.1. 2015](https://github.com/lua/lua/releases/tag/4.0.1)
30. [Release 5.0. 2015](https://github.com/lua/lua/releases/tag/5.0)
31. [Release 5.0.1. 2015](https://github.com/lua/lua/releases/tag/5.0.1)
32. [Release 5.0.2. 2015](https://github.com/lua/lua/releases/tag/5.0.2)
33. [Release 5.0.3. 2015](https://github.com/lua/lua/releases/tag/5.0.3)
34. [Release 5.1. 2015](https://github.com/lua/lua/releases/tag/5.1)
35. [Release 5.1.1. 2015](https://github.com/lua/lua/releases/tag/5.1.1)
36. [Release 5.1.2. 2015](https://github.com/lua/lua/releases/tag/5.1.2)
37. [Release 5.1.3. 2015](https://github.com/lua/lua/releases/tag/5.1.3)
38. [Release 5.1.5. 2015](https://github.com/lua/lua/releases/tag/5.1.5)
39. [Release 5.1.4. 2015](https://github.com/lua/lua/releases/tag/5.1.4)
40. [Release 5.2.1. 2015](https://github.com/lua/lua/releases/tag/5.2.1)
41. [Release 5.2.2. 2015](https://github.com/lua/lua/releases/tag/5.2.2)
42. [Release 5.2.3. 2015](https://github.com/lua/lua/releases/tag/5.2.3)
43. [Release 5.2.4. 2015](https://github.com/lua/lua/releases/tag/5.2.4)
44. [Release 5.3.1. 2015](https://github.com/lua/lua/releases/tag/5.3.1)
45. [Release 5.3.2. 2015](https://github.com/lua/lua/releases/tag/5.3.2)
46. [Lua 5.4 Released With New Garbage Collection Mode, Warning System. 2020](https://www.phoronix.com/scan.php?page=news_item&px=Lua-5.4-Released)
47. [Source](http://www.lua.org/versions.html)
48. [Release 5.4.1. 2020](https://github.com/lua/lua/releases/tag/v5.4.1)
49. [Release 5.4.2. 2020](https://github.com/lua/lua/releases/tag/v5.4.2)
50. [Lua: about](http://www.lua.org/about.html)