Lua is defined as a powerful, efficient, lightweight, embeddable scripting langage by its authors (PUC-Rio, see www.lua.org). From industrial applications to games, Lua is widely used, thanks to its compact and portable design that makes it available on different processors or operating systems.
This portable design leans on the ANSI C Runtime Library (CRT). The « Lua standard library » is bundled by default with Lua and depends on this CRT, and available as « standard modules ». These modules cover file input/output, ascii (and limited UTF8) strings, limited operating system facilities and so on...
Binary modules come to the rescue : if you need specific functionality in Lua, you can extend the standard library. It’s in Lua design : Lua is small, portable and designed to be embedded. Any other facilities must be brought by the host application or by a binary module. That concept adds a certain level of complexity: the need to find the right module compatible with your operating system, compile it using a C compiler and cross fingers that nothing goes wrong.
Luart aims to provide a more complete standard library for the Windows operating system to limit the use of binary modules, while trying to preserve compactness, speed, with complete compatibility with Lua.
Join Luart community