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

Overview

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.

Small lua patches allow a syntax close to Perl5 Moose. See patch/.

Documentation

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.

Status

lua-Coat is in beta stage.

It was developed for Lua 5.1.

Download

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

Installation

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.

Test

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 Francois Perrad

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