lua-Coat


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's developed for Lua 5.1, 5.2 & 5.3.

Download

lua-Coat source can be downloaded from Framagit.

Installation

lua-Coat is available via LuaRocks:

luarocks install lua-coat

or manually, with:

make install

Test

The test suite requires the module lua-TestAssertion.

make test

Copyright © 2009-2018 François Perrad

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