All Projects → Yonaba → 30log

Yonaba / 30log

Licence: other
30 lines library for object orientation in Lua

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to 30log

prime.js
Prime JS is a different kind of JavaScript framework. Prime is written in 100% standard, explicit, and namespaced Object Oriented JavaScript.
Stars: ✭ 13 (-95.85%)
Mutual labels:  object-oriented
blog
My Blog About Computers
Stars: ✭ 106 (-66.13%)
Mutual labels:  object-oriented
Infrared4Arduino
An object oriented infrared library for the Arduino
Stars: ✭ 51 (-83.71%)
Mutual labels:  object-oriented
venus
OO Standard Library for Perl 5
Stars: ✭ 14 (-95.53%)
Mutual labels:  object-oriented
FPL
Fortran Parameter List. A fortran dictionary where to put the parameters of your application.
Stars: ✭ 29 (-90.73%)
Mutual labels:  object-oriented
Duck
Duck-Typed Programming in C
Stars: ✭ 14 (-95.53%)
Mutual labels:  object-oriented
xavier
Xavier is a small object-oriented XML library for Lazarus and Delphi
Stars: ✭ 38 (-87.86%)
Mutual labels:  object-oriented
Object Oriented Design
面向对象设计的设计原则和设计模式
Stars: ✭ 313 (+0%)
Mutual labels:  object-oriented
crynamo
DynamoDB client for Crystal.
Stars: ✭ 14 (-95.53%)
Mutual labels:  object-oriented
Contemplate
Contemplate: Fast, extendable object-oriented and light-weight Template Engine for PHP, Python, Node.js, Browser and XPCOM/SDK JavaScript
Stars: ✭ 15 (-95.21%)
Mutual labels:  object-oriented
decaf-rs
The Decaf compiler, written in Rust
Stars: ✭ 43 (-86.26%)
Mutual labels:  object-oriented
star
An experimental programming language that's made to be powerful, productive, and predictable
Stars: ✭ 88 (-71.88%)
Mutual labels:  object-oriented
qm
QM model-based design tool and code generator based on UML state machines
Stars: ✭ 54 (-82.75%)
Mutual labels:  object-oriented
snap
Snap Programming Language
Stars: ✭ 20 (-93.61%)
Mutual labels:  object-oriented
p5-HackaMol
Object-Oriented Perl 5, Moose Library for Molecular Hacking
Stars: ✭ 12 (-96.17%)
Mutual labels:  object-oriented
CallofDuty.py
Asynchronous, object-oriented Python wrapper for the Call of Duty API.
Stars: ✭ 86 (-72.52%)
Mutual labels:  object-oriented
node-steamapi
A nice Steam API wrapper for nodejs
Stars: ✭ 112 (-64.22%)
Mutual labels:  object-oriented
Goby
Goby - Yet another programming language written in Go
Stars: ✭ 3,296 (+953.04%)
Mutual labels:  object-oriented
Stampit
OOP is better with stamps: Composable object factories.
Stars: ✭ 3,021 (+865.18%)
Mutual labels:  object-oriented
BashClass
BashClass is an Object Oriented Programming language that compiles to BASH 4.4
Stars: ✭ 40 (-87.22%)
Mutual labels:  object-oriented

30log logo

Join the chat at https://gitter.im/Yonaba/30log Build Status Lua License Coverage Status

30log, in extenso 30 Lines Of Goodness is a minified framework for object-orientation in Lua. It provides named and unnamed classes, single inheritance, metamethods and a basic support for mixins. In 30 lines.
Well, somehow.

Download

Archive

Current release is 1.3.0. See other releases.

Bash

This will clone the repository, as-is, and deliver the cutting edge release. Might be unstable.

git clone git://github.com/Yonaba/30log.git

LuaRocks

This will download and install the latest stable release from Luarocks servers.

luarocks install 30log

Wiki

A full documentation is available on the wiki. Find the project page at yonaba.github.io/30log.

Class-Commons support

Class-Commons is an interface which provides a common API for a wide range of Object Orientation libraries in Lua. There is a small plugin, originally written by TsT which provides compatibility between 30log and Class-commons.
See the module 30log-commons.lua.

Specs

You can run the included specs with Telescope using the following command from Lua from the root foolder:

lua tsc -f specs/*

About the source

30log-clean.lua

30log was initially designed for minimalistic purposes. But then commit after commit, I came up with a source code that was obviously surpassing 30 lines. As I wanted to stick to the "30-lines" rule that defines the name of this library, I had to use an ugly syntax which not much elegant, yet 100 % functional.
For those who might be interested though, the file 30log-clean.lua contains the full source code, properly formatted and well indented for your perusal.

30log-global.lua

The file 30log-global.lua features the exact same source as the original 30log.lua, excepts that it sets a global named class. This is convenient for Lua-based frameworks such as Codea.

30log-singleton.lua

The file 30log-singleton.lua is a singleton pattern implementation for use with 30log.

Contributors

License

This work is MIT-Licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].