lua-users home
lua-l archive

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


On Tue, May 21, 2013 at 1:44 AM, Thomas Jericke <tjericke@indel.ch> wrote:
> 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.

I am not sure why a require() alternative with semantics that allows
static assertions implies the current one should be replaced.

So far these concerns don't really align with the unconditional usage
of modules; dynamism is being preferred where it isn't beneficial.

>
> 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.
> --
> Thomas
>
>