[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua Library Design Workshop
- From: Christian Lindig <lindig@...>
- Date: Thu, 21 Feb 2002 11:04:54 -0500
On Wed, Feb 20, 2002 at 08:33:53PM -0500, Peter Shook wrote:
> So how was the workshop? Is there a summary of the outcomes?
Here is an incomplete list of topics that we discussed at the Lua
Library Workshop. Maybe the other attendees of the workshop can help to
complete it.
* I took a look at the IO libray of Lua 4.0 and proposed some changes.
http://www.eecs.harvard.edu/~lindig/papers/lua-iolib/
http://www.eecs.harvard.edu/~lindig/papers/lua-iolib/slides.pdf
The essence of the proposal is to remove functions like writeto which
handle files implicitly. The rational is that they are not general
enough when you deal with multiple files. The discussion was mostly
around less radical ways such that the casual user still can have
default input and output channels.
* A big topic of discussion was name space management. A
hierarchical name space like IO.open allows everybody to contribute
libraries and simplifies the transition between libraries. For
example, at this point is it not clear whether libraries should be
written in an object-oriented style, or a procedural style. We could
have both and pick as a standard what emerges later.
Problems related to name spaces are:
- Writing module X.Y.Z, how do I refer to function X.Y.Z.f, without
having to know that this is X.Y.Z? A local module M does the trick.
- How are modules mapped into the file system? The success of Python
suggests to use directories hierarchies. Discussion was around how
to load libraries and search paths. What can be written in Lua, what
must go into the kernel?
- Inside a module, is there a way to "open" other modules such that
their members can be accessed without dot notation? Seems to be
difficult.
* Loading of object files at run-time. Consensus was, that this is not a
technical problem, but a problem of policy. Where to put the tiny
target specific module that implements it?
* A mechanism that forces variable declarations in large projects. A
flexible technical solution emerged that I did not fully understand.
Probably Roberto can explain it.
* Christian Carrilo suggested some changes to the C API to support Lua
threaded environments better. The details escaped me because I don't
write threaded programs.
-- Christian
--
Christian Lindig Harvard University - DEAS
lindig@eecs.harvard.edu 33 Oxford St, MD 242, Cambridge MA 02138
phone: +1 (617) 496-7157 http://www.eecs.harvard.edu/~lindig/