Class Models for The Lua Language
$ luarocks install loop
LOOP stands for Lua Object-Oriented Programming and is a set of packages
for supporting different models of object-oriented programming in the
Lua language. LOOP provides five interoperable class-hierarchy-based
object models for Lua. Its class library provides many useful use examples
ranging from single-table data structures to utilities for debugging,
serialization, multi-threading and more.