Luerl - an implementation of Lua in Erlang

The migration from Lua 5.2 to 5.3 is very much Work-In-Progress. Please test it but there are as yet no guratantees.
Luerl is an implementation of standard Lua 5.3 written in Erlang/OTP.

Lua is a powerful, efficient, lightweight, embeddable scripting language common in games, IoT devices, AI bots, machine learning and scientific computing research.

It supports procedural, object-oriented, functional, data-driven, reactive, organizational programming and data description.

Being an extension language, Lua has no notion of a "main" program: it works as a library embedded in a host simple called the embedding program. The host program can invoke functions to execute a piece of Lua code, can write and read Lua variables, and can call Erlang functions by Lua code.

Through the use of Erlang functions, Luerl can be augmented to cope with a wide range of different domains, creating a customized language sharing a syntactical framework.

Luerl is implemented as a library, written in clean Erlang/OTP. For more information, read the [documentation]( and follow the [get started]( tutorial. You may also browse the [examples]( and learn from the [luerl_demo]( source code.

Join the Community

[Luerl on Slack](, join by requesting an invite [here](

Luerl embraces both [#Erlang]( and [#LuaLang]( communities and ecosystems.