Skip to content


Switch branches/tags

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 Forum - Erlang Forums

Luerl embraces both #Erlang and #LuaLang communities and ecosystems.