GSoC/GCI Archive
Google Summer of Code 2014

LabLua

License: MIT license

Web Page: http://www.lua.inf.puc-rio.br/gsoc/ideas2014.html

Mailing List: http://www.freelists.org/list/labluapucrio

LabLua is a research lab at PUC-Rio, affiliated with its Computer Science Department. It is dedicated to research on programming languages, with emphasis on the Lua language. LabLua was founded on May 2004 by Prof. Roberto Ierusalimschy. Lua is a powerful, fast, lightweight, embeddable scripting language. Lua has been used in many industrial applications, with an emphasis on embedded systems and games. Lua is currently the leading scripting language in games (www.lua.org/about.html).

Projects

  • Add flow typing and evolution of table types to Typed Lua Flow typing will allow programmers to use control structures to decompose union types that encode some common Lua idioms such as optional values, overloading based on the tags of input parameters, and overloading on the return type of the functions. The evolution of table types will allow programmers to create an empty table to build its type according to the keys that programmers insert in it, so programmers do not need to build the table in a single table constructor.
  • Create a library to help "memory leak" detection in Lua This project tackles a very important problem in programming languages, which can be seen in different areas. From games to web servers, programmers sometimes forget to delete unused references to objects, which can cause slowdown and crashes. The project is a library for Lua, so all Lua programmers can use it to check if their program is "leaking" or not.
  • Parallelism in Lua scripts for Löve The purpose of this project is to implement concurrency into Löve(Love2D) using a C API, in order to increase software performance in the case of heavy CPU load scenarios.
  • PORTING GAMEDUINO DEMOS TO THE PROGRAMMING LANGUAGE CEU The aim of this project is to port existing Gameduino 2 demos into the Céu programming language. The demos are such that they cover most aspects required for games in Gameduino 2. This project would enable new developers to easily develop new games on Gameduino 2 using the Céu programming language. This would also show the power of Céu to power games.