6 comments

[ 3.6 ms ] story [ 31.0 ms ] thread
There's some information in the readme.html file included with the distribution, and a bit more in the manual.

Work versions are aimed at the active lua community as a way to get feedback on features before they are finalized.

Very quick summary:

new syntax for lexical 'sandbox' environments

hex escapes in strings

tables and strings support _len metamethod

__pairs and __ipairs metamethod for iterator support

improvements to GC, week tables, xpcall

One of the Lua authors has recently posted a more thorough summary:

http://article.gmane.org/gmane.comp.lang.lua.general/61505

The in keyword has been very controversial as with it comes the deprecation of setfenv and getfenv, which are very useful for sandboxing and other tricks. The inclusion of a standard bit operations library is also a big deal, though Mike Pall (author of LuaJIT and LuaBitOp) has raised some objections.

Indeed. About a week ago, I wrote an extension to load modules in a proxy for hot code loading. It's pretty closely tied to get/setfenv. It's still too new to share, but I'm going to see if I can get it working with 5.2. Requiring the debug library (for debug.[sg]etfenv) will be a dealbreaker for some people.