Lua 5.3 (general discussion)
Posted: Mon Jun 08, 2015 5:16 pm
Half of you probably cringed when you saw the subject. I know lua upgrades mean work, and no small amount of it. I'm mostly looking for discussion here. The thing that got me looking was a 5.2 feature, specifically the __len metamethod actually functioning on tables, which has long been an annoyance of mine. I also realize 5.2 didn't support enough new features to be worth the upgrade. From what I'm reading, seems like 5.3 just might.
So, I'm curious on the opinions of both the devs and the users, what would make it worth upgrading, and what issues would be significant in doing so?
From what I can tell, these are the main features to be gained from 5.1-5.3:
http://www.lua.org/manual/5.2/readme.html#changes
http://www.lua.org/manual/5.2/manual.html#8
http://www.lua.org/manual/5.3/readme.html#changes
http://www.lua.org/manual/5.3/manual.html#8
So, I'm curious on the opinions of both the devs and the users, what would make it worth upgrading, and what issues would be significant in doing so?
From what I can tell, these are the main features to be gained from 5.1-5.3:
- __len and __gc metamethods work on tables finally
- 5.3 includes basic UTF-8 support, which seems like it could drastically simplify Mudlet's unicode issues
- Bitwise operators without an external library
- Goto with ::labels::
- s:rep now supports adding a separator
- Environment modifications are simpler and no longer require the debug library (limited usage)
- ipairs and table functions respect metamethods instead of using raw get/set (-probably- not an incompatibility as well, but could be)
- The variable args is no longer defined in vararg functions
- loadstring has become load
- module has been deprecated (mostly affects included modules)
- Floats will display as 0.0 rather than just 0 (could be an issue for some tostring usages?)
http://www.lua.org/manual/5.2/readme.html#changes
http://www.lua.org/manual/5.2/manual.html#8
http://www.lua.org/manual/5.3/readme.html#changes
http://www.lua.org/manual/5.3/manual.html#8