Language shapes the way we think,
and determines what we can think about.
— B.L. Whorf
Overview
Like any other Internal DSL, lua-Coat is dual :
- an Oriented Object Language
- a Lua library
lua-Coat shares with Lua : the same syntax and the same style.
Language design is library design
and library design is language design.
— old Bell Labs proverb
Lineage
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. Now, Coat is deprecated, but there are some successors Mouse, Moo, Mo.
Finally, lua-Coat is the Lua port of Coat.
Status
lua-Coat is in beta stage.
It was developed for Lua 5.1 & 5.2.
Documentation
After these HTML files, there are many unit tests in test/.
And finally, there are the code in src/ where you could check the availability of a feature.
Download
lua-Coat source can be downloaded from GitHub.
Installation
The easiest way to install lua-Coat is to use LuaRocks:
luarocks install lua-coat
or manually, with:
make install
Test
The test suite requires the module lua-TestMore.
make test
Copyright and License
Copyright © 2009-2013 François Perrad
This library is licensed under the terms of the MIT/X11 license, like Lua itself.