LabLua in Google Summer of Code 2025

We were very happy to participate again in Google Summer of Code (GSoC)! This is the 10th time we had the opportunity to collaborate with students from all around the world on interesting projects. These are the highlights from the 2025 edition.



Ghost in the Macro: Dual-Parser Bicameral Macro System for Teal

Hello, I am Amrit Bhogal, 2nd year Computer Science and AI student at the University of Birmingham! I have been contributing to open source for about 5 years now, and programming in Lua much longer.

I have been an avid user of Teal, the statically typed superset of Lua, and was adapting a fork of Teal to be able to compile to machine code in order to rewrite my Lua OS kernel in it. With GSoC, I had spoken to Hisham about potential ideas which would not only be useful to the wider Teal community but also be useful to my own work and projects. We deduced a project plan for bicameral macros for Teal, providing macros to Teal through "blocks", which are like LISP S-expressions.

The idea for the project is that a user would be easily able to create "blocks" and insert and add other blocks to them (each block is a list-like datastructure) in order to build a valid Teal program, allowing for easy and awesome extensibility.

The Code

GSoC 2025 - Macro Support for Teal.

The Student

Amrit Bhogal.

Mentors

Hisham Muhammad.

Lunatik binding for Human Interface Devices (HID) Drivers

Lunatik is a framework for scripting the Linux kernel with Lua— previously demonstrated for networking and other kernel subsystems

This project extends Lunatik’s capabilities to the Human Interface Device (HID) subsystem, allowing developers to write full-featured HID drivers entirely in Lua. The goal is to abstract the low-level complexities of the C-based Linux HID stack— including device matching, initialization, event handling, and descriptor parsing— behind a clean, high-level, scriptable API.

By leveraging Lua’s expressiveness and rapid prototyping power, this work empowers developers to quickly create, test, and iterate on custom HID drivers without needing to compile kernel modules or manage intricate C data structures. It opens up new possibilities for embedded input device customization, accessibility tooling, and educational exploration of kernel internals— all from the comfort of a scripting language.

The Code

The code can be found in the summary repository which includes a link to code repository, as well as a curated list of pull requests submitted by Jieming Zhou.

The Student

Jieming Zhou is a final-year undergraduate student at Beijing University of Posts and Telecommunications. He has a strong interest about Lua and its unique ability to act as a glue language between systems.

Mentors

Lourival Vieira Neto, Mohammad Shehar Yaar Tausif, Marc Balmer.

Documentation Generator Tool for Teal Language

I am Miłosz Koczorowski, and I study Computer Science at the University of Warsaw, Poland. This past summer, I had the incredible opportunity to work on Tealdoc as part of the Google Summer of Code program with LabLua.

Tealdoc is a documentation generation tool specifically designed for Teal, a statically-typed dialect of Lua. It was developed from scratch over the summer as a main part of our project.

The generator features include, HTML and Markdown outputs, numerous powerful tags to enhance documentation, a robust plugin system, and a modular codebase for total customizability and control.

This project necessitated making many difficult design decisions, complex planning of the tool's architecture for maximal extensibility, and low-level modifications to the Teal compiler to preserve comments during the parsing and lexing stages.

Overall, this project is expected to immensely benefit the Teal community by making the documentation process easier and more unified. Despite its recent introduction, it has already seen community interest and adoption.

Working on Tealdoc through GSoC has been an incredibly rewarding experience. I learned a ton about compiler internals, robust software design, and effective collaboration. I would highly recommend this to every aspiring software engineer.

The Code

Teal Documentation Tool.

The Student

Miłosz Koczorowski.

Mentors

Hisham Muhammad, Loren Segal.