lua-users home
lua-l archive

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


On Mon, Mar 28, 2011 at 8:59 AM, steve donovan <> wrote:
Hi all,

Obligatory 'Sam Roberts' notice: I look after Penlight, which is a set
of general Lua libraries aiming to cover most common needs - all in
pure Lua with only a LuaFileSystem dependency for the file handling
modules; the operative word is 'general purpose'.

Now the question is this: I've received a few feature requests for XML
support in Penlight, and I'm wondering what collective wisdom feels
about basic pure Lua XML read/write support being included. Generally
I've felt that this is the job of LuaExpat and friends, but this does
seem to be a core need these days. (There is already support for
common config file formats like INI etc.)

One candidate for inclusion is LuaExpatUtils, which works with LOM
representation and provides pretty printing, derived from the Prosody

What is the general feeling? Where is the boundary between 'general'
and 'specialized' Lua libraries? [1]

I think Penlight should be a place where many core functions can be contained. The only rule would be that it does not use anything but Lua, except maybe LuaFileSystem. XML is a huge normal thing for applications to use. Plus it can be done "well" in straight Lua. In fact, in our testing it is faster in Lua than LuaXML.
<soapbox>Penlight is still small and modular, so I think we should make Penlight an application base. If you look at other "application" frameworks in other languages I usually see XML in the list. I think we should make Penlight the standard of application creation framework, not just another Lua module. </soapbox>
Note: I have been cutting down on excessive module interdependencies,
so XML etc support would be completely optional - i.e. you don't pay
for what you don't use.

(I still feel that things like networking, databases, GUIs etc are
better served by separate projects.)

I can agree with this. I just want the "option" to add things that make a full featured application easy, without the need for a bunch of different Lua modules. I know there are many benefits to being as modular as possible, but that can lead to having the requirement for a Lua distribution. I know there is an argument about a library getting too large, but I think we can make Penlight modular enough, but full featured enough, to  become an application framework, not just a set of useful functions. Thoughts?