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.
6 comments
[ 3.6 ms ] story [ 31.0 ms ] threadhttp://article.gmane.org/gmane.comp.lang.lua.general/61505
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
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.
Unfortunately, it was mostly flame.