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.