Programming Languages Research with emphasis on the Lua language

LabLua is a research lab 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 language and reactive programming. It 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 the developers and maintainers of projects that are used by the Lua community at large

What is Lua?

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

Lua has been used in many industrial applications (e.g., Adobe's Photoshop Lightroom), with an emphasis on embedded systems (e.g., the Ginga middleware for digital TV in Brazil) and games (e.g., World of Warcraft and Angry Birds). Several versions of Lua have been released and used in real applications since its creation in 1993.

What is Céu?

Céu provides "Structured Synchronous Reactive Programming", a safe and deterministic concurrency model with side effects. Reactive applications interact continuously with the environment and are mostly guided through input events from it. Céu can be described as a reactive, imperative, concurrent, synchronous, and deterministic language, which easily integrates with C and Lua.

lightbulb_outline View ideas list


  • lua
  • céu
  • kernel


email Mailing list

LabLua 2021 Projects

  • Micah Kendall
    A Lua library for Freechains-P2P
    Freechains Lua API. This is an API for the Freechains project written in the Lua programming language. The lua-sockets library is used to interface...
  • Srijan Paul
    Closures in Pallene
    Pallene is a statically typed sister of the Lua programming language. This proposal aims to add support for Closures in Pallene. Closures are...
  • Shichu Yang
    Lua scripted watchpoints in LLDB
    Enable users to attach a script or Lua function to a watchpoint and execute it when the program flow hits it in LLDB and improve the whole...
  • Deepak Singh Rathore
    Typed API for LuaRocks
    The goal of this project is to provide typed API for LuaRocks modules, specified using Teal, a typed dialect of Lua, which allows for typed...