Yet Another Lua Object-Oriented Model
Language shapes the way we think,
and determines what we can think about.
— B.L. Whorf


Perl5, like Lua, has no OO model, just OO mechanism. This allows a proliferation (or experimentation) of different model.

Now with Moose, Perl5 find its ultimate OO model. Moose borrows all the best features from Perl6, CLOS (LISP), Smalltalk and many other languages. Moose is built on top of a metaobject protocol, with full introspection.

Coat is light-weight Perl5 module which just mimics Moose.

Finally, lua-Coat is the Lua port of Coat.


lua-Coat is in beta stage.

It was developed for Lua 5.1.


After these HTML files, there are many unit tests in test/.

Moose supplies a Manual and a Cookbook available on its CPAN page. It's the best ressource to understand this module.

And finally, there are the code in src/ where you could check the availability of a feature.


lua-Coat source can be downloaded from GitHub or Lua Forge.


The easiest way to install lua-Coat is to use LuaRocks:

luarocks install lua-coat

If you prefer to install manually, just copy the files from /src. There are no building stage, lua-Coat is a pure Lua module.


The test suite requires the module LuaFileSystem. Each test uses the module lunity which is automatically downloaded.

cd test && make test

Copyright and License

Copyright © 2009 François Perrad ohloh profile for François Perrad View Francois Perrad's profile on LinkedIn

This library is licensed under the terms of the MIT/X11 license, like Lua itself.