Class Models for The Lua Language

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. In fact, Lua is not an object-oriented language nor it was intended to be because one of the main goals of Lua is to remain simple and small. However, it provides facilities as syntactic sugar to support an object-oriented programming style. Additionally, the extension mechanisms of Lua can be used to implement most of the traditional object-oriented concepts commonly available in other languages. This lack of a standard object model avoids the use of a peculiar model instead of models customized for particular needs, like simplicity, flexibility or performance.

The models provided by LOOP are not intended to define a standard for the Lua language. Instead, they are examples of the introduction of more traditional object-oriented features into the language. Particularly, LOOP models are mainly concerned to dynamicity, although there is an attempt to keep them as simple and efficient as possible. Additionally, LOOP uses the fundamental Lua concepts like tables (objects) and meta-tables (classes), traditionally used to enable an object-oriented programming style, to provide a common ground for the interoperability of objects and classes of its different models.

Copyright (C) 2004-2005 Tecgraf, PUC-Rio

This project is currently being maintained by Tecgraf at PUC-Rio.

Latest News

30.10.2006
Complete documentation avaliable.
12.07.2006
New classes added to the class library.
30.09.2005
Initial documentation publicly avaliable.
01.07.2005
Class library restructured.
02.06.2005
First public avaliable version of LOOP released inside OiL package (2.1 alpha).