lua-users home
lua-l archive

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


Hi all,

This is a release candidate of Penlight, a set of general Lua
libraries, which has been tested with Lua 5.1, Lua 5.2 alpha and
LuaJIT2 beta 6.

https://github.com/stevedonovan/Penlight

http://stevedonovan.github.com/Penlight/   (for the write-up and documentation)

(a zip file is available for direct download)

Since the last release, there have been a number of fixes,
particularly to pl.stringx and pl.lapp.  I have added pl.template,
which is the Rici Lake preprocessor, simply because I could not resist
it, and pl.Date which provides Date & Time functionality. In
particular, the Date.Format class can parse and stringify date objects
using a given pattern.

As it asymptotically approaches 1.0, the library is actually getting
simpler.  For instance, pl.class supplies a simple class
implementation, and nothing else. For the classes Map and Set, you
have pl.Map and pl.Set respectively. So there are two places where
code will have to be rewritten:

local class = require 'pl.class'. class  => local class = require 'pl.class'
local List = require 'pl.list'.List => local List = require 'pl.List'

The shortcut require 'pl' still works as before.

Another feature of this release is that module dependencies have been
severely pruned. Useful things like pl.config and pl.lexer have no
other PL dependencies, and so can be easily incorporated directly into
projects.  The same goes for David M's list comprehension library,
pl.comprehension, which now only depends on pl.luabalanced.  Generally
code is cleaner now that I am no longer pretending to write in Python.

Once the usual little glitches have been sorted out, I will make a new
LuaRocks release, as a pair of rocks, penlight and penlight-dev, so
that projects having a dependency on PL will only need to pull in a
30kB rock.

All criticism and suggestions are welcome.  (Apologies to Thijs, I
have not yet resolved the conflict between Orbit and pl.strict)

steve d.