lua-users wiki: Lua Cheia
- VersionNotice: The LuaCheia project is apparently dead. That is the suggestion from these two mail list posts:   There doesn't seem to be any activity either (since version 4 or 5). This is page is maintained here for historical reference (e.g. the book Beginning Lua Programming mentions LuaCheia).
- LuaCheiaSummaries - not currently maintained - (looking for a volunteer to write up summaries)
- [Reference Manual] - (as far as it is done)
- [Project Page] at Source Forge
- [Mailing List] at Source Forge - open to subscribers
- [SF stats]
What is LuaCheia?
Lua is a great programming language that prides itself on ANSI C portability, small size, simplicity and ease of embedding. Due to these goals, the official Lua distribution cannot provide features common to popular stand-alone scripting languages. With the LuaCheia project, we wish to make a full-featured language based on Lua that makes it more usable as a stand-alone language. Lua cheia is Portuguese for full moon.
The key features of LuaCheia are:
- Portable and ported to Apple OS X, POSIX/X Window System and Microsoft Windows platforms. Use GNU autoconf to support automatic building on a wide variety of systems.
- Standard binary distributions for the supported platforms. One-stop shopping for users interested in experimenting with Lua, or using it for general-purpose scripting.
- Modularity. Only a very small core is mandatory, which is essentially the stock official Lua 5 distribution with bug patches. LuaCheia is implemented as a wrapper and bootscript around the normal stand-alone Lua executable. The wrapper can easily be pointed at a modified Lua interpreter if you like to experiment with the core itself.
- Incorporate many different useful libraries.
- Libraries are loaded dynamically so the core stays small.
- Ample, standardized documentation (partly TODO).
Who does what?
Module listThe following libraries are included, or being considered for inclusion in LuaCheia:
- LuaBinaryModules: as basis for loading Lua extensions. (working)
- GluaX: Dynamic loading of libraries. (working)
- SDL: Has threading, graphics support, and is useful for gaming applications of Lua. (working, but no thread support, correct?)
- wxWindows as the primary heavyweight GUI library, possibly FLTK as a lightweight alternative. (semi-working on Win32, not enabled by default)
- SQLite: Lightweight SQL without server. (working)
- Lua sockets. (working)
- PCRE -- Perl Compatible Regular Expressions. (working, disabled by default in favor of rex)
- rex -- POSIX & PCRE regex library by ReubenThomas. (working)
- bit -- bit manipulation library by ReubenThomas. (working)
- pack -- binary structure packing/unpacking based on lhf's packlib. (working)
- posix -- POSIX wrapper library by lhf. (working)
- cgi -- Assistance for CGI, web-based programming. (working)
- XML handling. expat would be a commomn choice, but expat is not a really complete XML lib (no validation etc.) Libraries like libxml2 would be more powerfull (DOM, XSLT, XPath) and are under MIT license but are slightly large, maybe also Sablotron (lighter)?
- mapm -- arbitrary precision math (based on lhf's binding of MAPM) (working)
- Directory handling, filesystem manipulation. (TODO)
- Zlib compression support. Needed for SDL_image/libpng. (TODO)
- Lua script repository that facilitates common tasks such as OOP/inheritance programming. (StandardLibraryProposal?)
- IUP for cross-platform GUI looks like a nice possibility. (TODO)
- LuaSQL for interfacing with SQL databases. (TODO)
TodoThese are the major unfinished tasks:
- Get a comprehensive cross-platform GUI module working. wxLua is partly working. IUP is a candidate as well.
- Documentation -- write more of it.
- More modules
- GUI debugger based on future GUI module (wxLua has a pretty nice one already)
- Module to facilitate Windows registry editing. A must have for Windows scripting.
- maybe you are looking for LuaCOM? --MartinSpernau
- precompiled Tk binaries originated from Tcl/Tk 8.4. Useful for Tcl/Tk programmers who want to switch to Lua. Alas, Tklua is not maintained a couple of years (Rob Maris).
- intergrate a image library like [imlib] or the [FreeImage]. (FreeImage? is dual licensed under the GPL and its own odd license.), or also [GD] or [Lua-GD]
RecentChanges · preferences
edit · history
Last edited May 2, 2009 1:46 am GMT (diff)