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.


Foojay - All About Java and the OpenJDK

Tracking the OpenJDK is not an easy feat. It evolves rapidly under a release cycle of a new version every 6 months, hence there's hoards of new features, changes and bug fixes.This is where foojay ste [ ... ]

Nvidia's AI Supercomputer For Medical Research And Drug Discovery

Last month Nvidia unveiled plans to build a supercomputer intended for AI research in health care. This prompts us to look at AI's potential role in health care and how it is already being used.

 [ ... ]

More News



Last Updated ( Wednesday, 21 December 2011 )