lua-users home
lua-l archive

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

On 05/18/2013 08:06 PM, Dirk Laurie wrote:
Often on this list voices have gone up proposing a language addition
that would allow one to automate the following process:

     local concat,insert,remove,pack,sort,unpack=
        table.concat, table.insert, table.remove, table.pack,
        table.sort, table.unpack

by saying Pythonically

     from table import *

or whatever.  Has anybody ever actually produced a kernel patch that
implements something of the kind?

As been said, this is not possible. Lua is not aware what members the table has at compile time, locals accesses are generated at compile time (that's why I like them so much). In the case of 'require()' that would actually mean, that Lua must be aware of other files at compile time, which it isn't at the moment. Currently you can compile Lua scripts each by its own, and actually I think that is a nice feature. I am not sure if Lua should give up this feature for a "import *" statement. A lot of freedom to give up just to avoid some typing.

If Lua really once will get a macro extension, it is highly possible that such things would be possible, assuming that the Lua macro language will run pre-compilation.