[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] stdlib release 5
- From: Reuben Thomas <rrt@...>
- Date: Tue, 4 Mar 2008 00:13:47 +0000 (GMT)
I'm happy to announce a new release of my standard Lua libraries. It's been
nearly a year since the last release, and I'm happy to say that since then
only one bug has been found (thanks Roberto!). Two functions have been added
in this release, to deal with file paths, and one removed (io.length, which
is handled by lfs.attributes) along with one constant (INTEGER_BITS, handled
by bitlib's bit.bits).
As ever, comments and new code are welcomed.
http://luaforge.net/projects/stdlib/
For those not familiar with stdlib, it's a pure-Lua library of mostly
fundamental data structures and algorithms, in particular support for
functional and object-oriented programming, string and regex operations and
extensible pretty printing of data structures. More specific modules include
a getopt implementation, a generalised least common subsequences (i.e.
diff algorithm) implementation, a recursive-descent parser generator, and an
mbox parser.
It's quite a mixed bag, but almost all written for real projects. It's
written in a doc-string-ish style with the supplied very simple ldoc tool.
I am happy with this code base, but there are various things it could use:
0. Tests. Tests. Tests. The code has no unit tests. It so needs them.
1. More code. Nothing too specialised (unless it's too small to be released
on its own, although very little seems "too small" in the Lua community).
Anything that either has widespread applicability (like getopt) or is very
general (data structures, algorithms, design patterns) is good.
2. Refactoring. The code is not ideally factored. At the moment it is
divided into modules that extend existing libraries, and new modules
constructed along similar lines, but I think that some of the divisions are
confusing. For example, the functional programming support is spread between
the list and base modules, and would probably be better in its own module,
as those who aren't interested in the functional style won't want the
functional list support or the higher-order functions support, and those who
want one will probably want the other.
3. Documentation work. There's not a long wrong with the existing
documentation, but it would be nice, now that there is a stable LuaDoc, to
use that instead of the built-in ldoc, which I'm happy to discard now that
LuaDoc is stable. ldoc was always designed as a minimal LuaDoc substitute in
any case.
4. Maintenance and advocacy. For a while I have been reducing my work on
Lua, and am also now reducing my work in Lua. If anyone would like to take
on stdlib, please talk to me. It fills a much-needed function: I suspect a
lot of Lua programmers have invented the wheels with which it is filled over
and over again. In particular, many programmers could benefit from the
simplicity of its simple and well-designed functional, string and regex
capabilities, and others will love its comprehensive getopt.
--
http://rrt.sc3d.org/ | wet nurse, n. lactating lackey