lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> >- Compress your (compiled) data files with gzip or bzip2.
> >- Write a chunkreader that autodetects a compressed file and uncompresses
> >  on-the-fly. The zlib/libbz2 manuals should have an example that does
> >  exactly that.
> >- Hook the chunkreader into your own dofile().
> I wrote a library that can read Lua code from different 
> sources (file, memory), passing it through uncompressing 
> filters (bunzip2, gunzip).

I don't like to announce something and not releasing a public version, but
as the subject is being discussed, this might be interesting.

We, the Kepler Team, are developing three libraries, LAR, LuaZip and LuaTar.
A preview version will be available next week.

LAR (Lua ARchives) is a virtual file system using ZIP or tar.gz compression.
The idea is similar to a jar (Java Archive), war (Web archive), etc.
The library basically improves the require function to virtualize files in
an archive.
You can zip (or tar.gz) a bunch of lua files in a .lar file and require them
as usual, transparently.
This library uses LuaZip and LuaTar to read the contents from the archives.

LuaZip is a library to read files inside zip files.
The usage is very intuitive. Example below:

local zf, err ='')
for f in zf:files() do
local f = zf:open('foo.txt')

LuaTar is a library to read files inside tar files.
The usage is as intuitive as LuaZip. Example below.
Notice that LuaTar uses lzlib by Thiago Dionisio.

local gf ="lzlib.tar.gz", "rb")
local tf =
local f = tf:open("lzlib/README")

Comments are welcome.

-- Danilo