LuaRocks - fostering an ecosystem of Lua modules
Creating the package manager for the Lua language
This talk will present LuaRocks, the package manager for modules for the Lua programming language. Lua has successful as a scripting language embedded into applications, especially in the gaming industry. However, its "no-batteries-included" design prevented it from getting traction as a stand-alone application language. LuaRocks was created to target this problem. This talk will discuss the particular challenges of developing a package manager for Lua. With this project, we've been successfully fostering an ecosystem of extension modules, improving reuse of Lua code.
This talk will present LuaRocks, the package manager for modules for the Lua programming language.
Lua has been used for many years as a scripting language embedded into applications. It has been especially successful in the gaming industry, being present in several AAA titles. Its ease of embeddability, good performance and small footprint have been major factors it this success.
However, its minimalistic, "no-batteries-included" design has also prevented it from getting much traction as a stand-alone application development language. A major setback was the lack of an easy way to integrate extension libraries for various tasks (such as sockets, databases, UI, XML/JSON, etc.)
LuaRocks was created to target this problem. It is a package manager designed for Lua modules (written in Lua or C). It serves both as a package manager in the style of RubyGems or npm, and also as a build system for compiling C code into Lua modules.
This talk will discuss the particular challenges of developing a package manager for Lua. Some are technical challenges, related to portability; some are social challenges that reflect into technical issues, such as the lack of established practices.
With the LuaRocks project, we've been successfully fostering an ecosystem of extension modules for Lua. The repositories keep growing, and the dependencies between modules show that reuse is increasing.
About the presenter
Hisham Muhammad (Rio de Janeiro, Brazil) — lead developer of LuaRocks. PhD student at PUC-Rio, the university where Lua is developed. Other projects include htop and GoboLinux. I've been involved with the Lua community since 2004 and I have given talks on Lua-related topics in a number of conferences.