---
title: Lua
kind: note
description: scripting language
words: 84
readingMinutes: 1
created: '2024-08-17T18:22:24+02:00'
updated: '2026-06-29T20:34:03+02:00'
website: https://www.lua.org/
---
## Link

<https://www.lua.org/>

- Lua is a lightweight, embeddable scripting language written in <span class="dead-link">C</span> and released under the MIT license.
- It is used in e.g. the following "host" applications:
	- [Neovim](/notes/neovim)
	- <span class="dead-link">MUSHclient</span>
	- [Mudlet](/notes/mudlet)
	- <span class="dead-link">World of Warcraft</span>
	- <span class="dead-link">Roblox</span>
	- <span class="dead-link">Adobe Lightroom</span>
	- <span class="dead-link">VLC</span>
## Resources
- [Download (source code)](https://www.lua.org/download.html)
- [Download (binaries)](https://luabinaries.sourceforge.net/)
- [FAQ](https://www.lua.org/faq.html)663
- [Demo](https://www.lua.org/demo.html)
- [Lua Programming Gems](https://www.lua.org/gems/) - e-book from <span class="dead-link">2008</span>
- [lua-users wiki](https://lua-users.org/wiki/)
	- [Lua Addons](https://lua-users.org/wiki/LuaAddons)
- [LuaRocks](https://luarocks.org/) - package manager
- [LewisJEllis/awesome-lua](https://github.com/LewisJEllis/awesome-lua) - a curated list of quality Lua packages and resources
## FAQ
### Dumping table contents
```lua
function dump(t, indent)
    indent = indent or 0
    for k, v in pairs(t) do
        print(string.rep("  ", indent) .. tostring(k) .. ": ")
        if type(v) == "table" then
            dump(v, indent + 1)
        else
            print(string.rep("  ", indent + 1) .. tostring(v))
        end
    end
end
```
- Source: [Dump Table Lua: A Quick Guide to Table Inspection](https://luascripts.com/dump-table-lua)
