lua-users home
lua-l archive

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


I've been hacking on those standard libraries again
(http://lua-users.org/wiki/StandardLibraries).

First, I've broken some dependency loops between modules (these weren't
causing any problems, but John Belmonte pointed out that they weren't
compatible with Lua 5.0's require; he aims to replace the version I've got
with a fully 5.0-compatible one soon).

Secondly, I've improved my tostring implementation. Now, you can add 
stringifier methods for any tag, and tostring will automatically be able 
to turn your type into a string. Not only that, I've added a simple 
pickler, which uses the same routines (though it can't yet cope with 
recursive tables).

Thirdly, I've added a LuaDoc-like tool called ldoc [1]. It's pretty
brain-dead at the moment, and only a couple of libraries (see
std/data/list.lua) have been marked up to work with it, but it already
produces usable web pages.

Fourthly, there are lots of other neat additions (all of which I've added
for real applications at work, now that I've gotten over the excitement of
programming these libraries for the sheer fun of it!), including the
ability to index tables by strings more flexibly, so you can easily go
from t and "foo.bar.baz" to t.foo.bar.baz.

Do have a look, and if you have thought about contributing code in the
past, now's the time to get stuck in. Mail me, or join the mailing list,
and tell me what you'd like to do. I'm particularly interested in adding
functionality from areas not yet cover, such as GUIs, XML parsing, CGI,
and all those other things for which there are standalone libraries out
there that could usefully be integrated into a standard set. I don't want 
to reimplement everything, just integrate it and let each library take 
advantage of the others.

There's also plenty to do in the library itself: ldoc-ify the whole lot, 
improve ldoc, LTN7-ify the name space, make it Lua 5.0 compatible... I'm 
particularly interested in someone coming up with a plan for integrating C 
libraries (to go with the new loadlib support in 5.0). CLAN here we come!


Finally, if you're a Lua developer, take a look. These libraries contain a 
lot of general-purpose data structure manipulation stuff you won't find 
elsewhere, and a lot of it is really handy (mapping over and indexing 
lists, wrapping text, getopt handling for command line programs...). The 
libraries are small, modular, and I use them every day for my own 
(production) code.

-- 
http://www.mupsych.org/~rrt/ | Caution Children At Play Drive Slowly