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 and Céu communities 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.
LabLua 2019 Projects
An application for Céu-ArduinoAn application from Jingrui for Céu-Arduino, I'll do my best for that.
C Header File Parser in Lua Using Clang ASTPallene, the statically typed sister language of Lua requires a Foreign Function Interface(FFI) to C. As a starting point, there is a need to create...
Google Cloud IoT Core Interface in LuaThe project consists of developing an interface, in Lua, for the set of Cloud IoT Core APIs, through two REST resources: cloudiot methods, to...
The Apolo Library: Building Piping and bash syntax in a light-weight environmentLua is a tiny language that can do a lot. As a scripting language, it can be embedded into larger projects, used in IoT devices for its lightweight...
XDPLuaA version of the Linux Kernel's XDP framework which will support the execution of Lua scripts as well as eBPF programs