Lua 5.2

BlitzMax Forums/BlitzMax Programming/Lua 5.2

mpmxyz(Posted 2012) [#1]
It's been more than a month since Lua 5.2 was released but I've never seen anyone asking for an updated Lua wrapper for BlitzMax. Is anyone working on one?
Are there any tools that might help?
Writing and debugging a huge lua library for my current project is enough for me.
I would be glad if I don't have write a Lua wrapper, too. :-)


Htbaa(Posted 2012) [#2]
I'm not entirely up to date, but I believe 5.2 isn't fully backwards compatible with 5.1. Since there are a couple of modules depending on 5.1, and an unknown amount of user written Lua code I think pub.lua should stay 5.1.

Instead I'd say fork pub.lua to pub.lua52 or something and make that compatible with Lua 5.2.


Russell(Posted 2012) [#3]
Don't you love it when developers make their programs not backward compatible? I know that sometimes this is necessary, but some make this the norm (MAME has changed the format of the game roms over the years at LEAST 10 times...: "Whoops, sorry, those 5000 roms you have need to be converted...again")

Anyway, is there a feature in 5.2 that is worth all of the trouble?

Russell


Htbaa(Posted 2012) [#4]
Lua 5.2 isn't really a maintenance release. Lua 5.1 was initially released in early 2006. The latest version of it is 5.1.4 which was released in mid 2008. So Lua 5.2 is allowed to not be fully functional.

To see what has actually changed between 5.1 and 5.2, see http://www.lua.org/manual/5.2/manual.html#8.

Big changes are mostly the deprecation of the module function, environment stuff. I also believe native bitwise operations are new.

Or to quote from http://www.lua.org/versions.html

Lua 5.2 was released on 16 Dec 2011. The main new features in Lua 5.2 are yieldable pcall and metamethods, new lexical scheme for globals, ephemeron tables, new library for bitwise operations, light C functions, emergency garbage collector, goto statement, and finalizers for tables.



AdamRedwoods(Posted 2012) [#5]
doesn't seem that bad, perhaps some of the C interfacing stuff seems changed.