lua-users home
lua-l archive

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

On Nov 17, 2010, at 8:23 AM, Mike Pall wrote:

> Mark Hamburg wrote:
>> I'm not wild about the N-squared time complexity, but the
>> ephemeron GC as a solution to semi-weak-table-induced collection
>> problems is pretty useful.
> It was already my plan to add this for the new LuaJIT GC
> (postponed to 2.1).
>> Getting rid of function environments (at least as mutable
>> properties of functions) ought to be an optimization
>> opportunity, but I'm not writing anything that depends on that.
> Nope, not really. Since function environments were rarely changed,
> they are treated as immutable. Similar things happen with upvalues,
> since LuaJIT's alias analysis is quite good. Moving the environment
> to an upvalue neither complicates things nor simplifies anything.
>> The messier issue for me is that working in some environments
>> where LuaJIT isn't an option -- e.g., iOS on ARM
> Well, don't hold your breath. But I'm sure an ARM port will
> happen.

Just the interpreter would be enough for my current uses.

>> I'm really attracted by the yieldable pcall support in 5.2.
> Alex already answered that -- you can have that feature right now
> on all platforms.

Yes. RVM is probably the least disruptive to the rest of the environment, but it gets harder to justify taking a big patch to Lua when 5.2 simply includes it.

Other features of 5.2 that attract me:

* Lightweight C functions and hence a truly useful replacement for the somewhat awkward lua_cpcall.

* Comparison operators do not insist on metamethod equality.

There are probably a few more, but those together with the previous list are the big ones -- i.e., the ones that address real issues I've had to work around -- that come to mind.