[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Is there a kernel patch for creating local variables programmatically?
- From: Andres Perera <andres.p@...>
- Date: Wed, 22 May 2013 23:11:02 -0430
On Tue, May 21, 2013 at 1:44 AM, Thomas Jericke <email@example.com> 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