Programming Language Research with emphasis on Lua

Technologies
lua, luarocks, kernel, lunatik, pallene
Topics
compilers, scripting languages, kernel scripting, statically-typed languages
Programming Language Research with emphasis on Lua
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 Lunatik? Lunatik is an extension framework for Linux that combines the approaches of Extensible Operating Systems and Scripting Languages. This approach, named Kernel Scripting, advocates that OS kernels can be dynamically extended by using a high-level scripting language. Lunatik is a programming and execution environment that offers two main features: it allows developers to make subsystems scriptable and allows users to run Lua scripts in the kernel. What is Pallene? Pallene is a statically-typed programming language, intended to serve as a more performant companion to Lua. It is designed to seamlessly interoperate with Lua, with first-class support for Lua data types. Pallene is able to be faster than Lua (sometimes as fast as LuaJIT) by taking advantage of the type annotations in Pallene in order to guide the compiler into outputting efficient executable code.
2024 Program

Successful Projects

Contributor
sheharyaar
Mentor
Lourival Vieira Neto, Marcel Moura
Organization
LabLua
Lunatik binding for Netfilter
The goal of this project is to make a new tool that connects Netfilter with Lua, allowing people to create new Netfilter programs using Lua and...
Contributor
Chaitanya Deshmukh
Mentor
Tomás Guisasola
Organization
LabLua
Adapt LuaSQL drivers to Lua 5.4
The project aims to adapt the LuaSQL drivers, which provide an interface between Lua and various database management systems (DBMS), to work...
Contributor
Victor Ilchev
Mentor
Hisham Muhammad
Organization
LabLua
Port LuaRocks to Teal
LuaRocks is the package manager for the Lua language. It is written in pure Lua, making use of several optional libraries. The goal of this project...
Contributor
SD Asif Hossein
Mentor
Hugo Gualandi, Gabriel Ligneul, srijannr1@gmail.com
Organization
LabLua
Improved debugging support for Pallene
Pallene is a statically typed companion language to Lua, designed to write performance sensitive part of it. Pallene has a very similar syntax as...