Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 313d5a8424
Fetching contributors…

Cannot retrieve contributors at this time

94 lines (75 sloc) 3.6 kb
########## ####### ######### ## ____ o
## ## ## ## ## ## / o\
## ## ## ### ## ## ## Objective Lua | O O |
## ## ## ## ## ## ## \____/
########## ####### ##### ######### (c) 2006 John Ohno
Licensed under the GNU LGPL
#####################################################################
#####################################################################
So you've downloaded ObjL. You're probably wondering what the hell it is, and
why the hell you downloaded it. Or, alternately, you could be wondering how
the hell someone came up with something so Insanely Great and how the hell
to install it (hey, it could happen ^.~ ). Well, this document will (hopefully)
answer all such questions, or at least point you to someone who can.
WHAT IS OBJL?
ObjL is Objective Lua, an attempt at making Lua object oriented. "Why," you may
say, "when so many people have already done so -- and when most people simply
implement a new one for each project!" Well, ObjL isn't just ANY oo system --
it is based upon the design goals of Objective C, and therefore aims to meet
the following criteria:
- It provides a full Object Orientation system, including multiple inheritence,
classes, constructors, and even some less common features like inheritence on
object creation.
- It is very small and light -- simply a tiny upper layer to the language.
- It provides Objective C's concept of method forwarding -- allowing objects to
field method calls to other objects, possibly across processes or a network,
while making it seem as if the call was completely local to said object.
- It retains support for manual modification of objects and their contents,
via any method used in pure lua.
- It provides all this without modifying the underlying language at all -- only
extending it.
WHY USE OBJL?
- ObjL is small, light, and fast. The overhead is epsilon when compared to the
flexibility and functionality it brings to the programmer.
- ObjL is pure lua -- no recompiling or messing with dynamic libraries.
- ObjL provides the functionality of an object orientation framework and an
object brokering system to lua, in a small package.
WHAT ARE SOME GOOD APPLICATIONS FOR OBJL?
- Clustering
- Inter-process communication
- Behavior-based AI
- Games
- Desktop integration
- Network apps
- Home automation
- Anything that requires functional object orientation
INSTALLATION
See INSTALL file for details.
WHAT'S IN THE PACKAGE?
The package has a number of directories. They are:
- doc/ Documentation and tutorials (ASCII text; see doc/README
for details on contents)
- examples/ Various code examples for applying ObjL
- lib/ The ObjL library itself
- src/ Various C/C++ code useful for C API developers
- tools/ A few utility scripts useful to users of this package
- test/ A few ObjL testing scripts
WHERE TO GET OBJL
For more details, new releases, help, and community interaction, check out:
http://luaforge.net/projects/objl
If you can't find anything to help you, and nobody knows the answer, as a last
resort you can email me at:
john.ohno@gmail.com
Put "ObjL" in the subject line.
~John Ohno
President/Accela Labs
Lead Developer/ObjL
Note:
If you like ObjL and want to drop me a line in a fun way, send me a postcard:
John Ohno
Accela Labs
81 Pond Hill Rd
North Haven, CT
06473
USA
By the way, I don't want you dropping by my house -- trespassers are shot ;-)
Jump to Line
Something went wrong with that request. Please try again.