Programming Languages Research with emphasis on the Lua language

The Lua Language

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. Since its creation, in 1993, Lua has been used in many industrial applications (e.g., Adobe's Photoshop Lightroom), embedded systems (e.g., the Ginga middleware for digital TV in Brazil) and games (e.g., World of Warcraft and Angry Birds), and is currently the leading scripting language in games.

The Céu Language

Céu is a Structured Synchronous Reactive Programming language that aims to offer a higher-level and safer alternative to C. It extends classical structured programming with two main functionalities: event handling and synchronous, deterministic concurrency.


LabLua is a research laboratory at the Catholic University of Rio de Janeiro (PUC-Rio), affiliated with its Computer Science Department. It is dedicated to research on programming languages, with emphasis on the Lua and Céu languages. LabLua was founded on May 2004 by Prof. Roberto Ierusalimschy, the chief architect of the Lua language.

LabLua consists of people from a wide range of backgrounds, including PhD candidates, professors and alumni who are developers and maintainers of projects that are used by the Lua community at large.

lightbulb_outline View ideas list


  • lua
  • céu


email Mailing list

LabLua 2018 Projects

  • Anny Chagas
    Céu-Maker: easy-to-install, up-to-date integrated environment for Céu-Arduino and pico-Céu development
    The objective of my proposal is to provide an easy-to-install, up-to-date integrated environment for Céu-Arduino and pico-Céu development. Céu is a...
  • Chengzhi Tan
    Develop Socket API for Lunatik
    Lunatik is a kernel-level Lua interpreter version for scripting the Linux kernel. For example, it allows users to filter packets using Lua scripts. I...
  • Caio Messias
    Development of a RCU Binding for Lua tables
    Lunatik is a programming environment based on the Lua language for kernel scripting. By allowing kernel scripting, a user may create scripts in Lua...
  • M Naveen Kumar
    Interrupt-based drivers in Céu-Arduino for microcontrollers
    The project consists of developing new interrupt-based drivers for microcontrollers, e.g.: ADC SPI and I2C buses EEPROM Real-time clock Some...
  • Satyendra Kumar Banjare
    Update Lua Bindings to LibGit2
    This project aims at updating lua bindings to libgit2 for the lua users to use libgit2 ( pure C implementation of the Git core methods ) API from...