Lua 5.2.0 Released
Written by Kay Ewbank   
Wednesday, 21 December 2011

An updated version of Lua, the scripting language for writing embedded apps is now available. Its improvements include a new library for bitwise operations, changes to the way coroutines work and ephemeron tables.

An updated version of Lua, the scripting language for writing embedded apps is available.




Lua, whose name means "moon" in Portuguese, is being developed by a team at the Pontifical Catholic University of Rio de Janeiro. It has been used in applications as diverse as World of Warcraft and Cisco’s Adaptive Security Appliance. It has lots of interesting features and is far from just another C/C++ clone with slight syntactic variations. In particular it supports functions as first class objects, closure and extensible semantics. It also isn't a class based language. Overall it is most resembles JavaScript of all the currenly popular languages.

The new version has a new lexical scheme for global variables, and has changed the way it handles function environments. The new version has also changed the way that coroutines work. Coroutines refers to the technique of collaborative multithreading. A coroutine in Lua represents an independent thread of execution that continues until the coroutine yields control back to the calling code. This version of Lua supports yielding across metamethods and for loop iterators pcall and xpcall calls.

Other improvements include a new library for bitwise operations, the addition of a goto statement (which might not be an improvement), and support for light C functions.

An emergency garbage collector has been added so that Lua forces a garbage collection when memory allocation fails - Lua performs automatic memory management.

Another new addition to 5.2.0 is the concept of ephemeron tables. An ephemeron table is one with weak keys and strong values, where the value is only reachable if its key is reachable. This feature should make it easier for the garbage collector to clear away unwanted objects and minimize memory leaks.




The new version can be downloaded from and you can also obtain it here.  The Lua 5.2 Reference Manual provides the official definition of the language and you can try out Lua without downloading it using its demo.


To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter, Linkedin or Facebook or sign up for our weekly newsletter.


Learn Python with HackInScience

HackInScience is a code challenge site that is mostly oriented towards learning than competing with others for a top ranking despite the presence of a Leaderboard. It's a playground of fun Python [ ... ]

DenoDB Enables Wider Database Support

There's an updated version of DenoDB that improves support for databases outside its main list of supported formats by allowing connections with a URL string. DenoDB is an ORM that supports the use of [ ... ]

More News



Last Updated ( Wednesday, 21 December 2011 )