GSoC 2026
Pharo Consortium

Pharo Consortium — Project Ideas

Below is the list of project ideas that were proposed by the Pharo community. You can apply to any of those projects by sending an email to one of its mentors. Do not hesitate to propose your own idea but make sure that there is at least one mentor in the community who would agree to supervise you.

A generic AST for Moose

The idea is to define a generic meta-model for ASTs

Algorithms, data structures and graphs

Pharo has a vast implementationg of data structures such as various kinds of lists, trees and graphs (...)

Compiler Optimizations in SSA form

Druid is a metacompiler to generate a Just-In-Time Compiler in the Pharo VM. With Druid, language im (...)

Optimizing the Pharo Compiler at Bytecode-Level

This project explores the implementation of an optimizing compiler for Pharo bytecode. It uses the D (...)

Fault Location DrTest Plugin

In this project, the student will implement two or three different fault location algorithms, for th (...)

ChatPharo: Bringing LLMs to Live Programming

This project focuses on improving and extending an existing interface between Pharo and large langua (...)

Enhancing Pharo’s Refactoring Engine for a Smarter Development Experience

One of its key strengths is its powerful development environment, which includes an advanced refacto (...)

Adding Game Tiles and Sprites to Cormas

The current version of Cormas allows us to visualize the space and agents in the simulation using co (...)

Improve the Green threads / Fiber

Pharo currently implements Green Threads / Fiber through the Process class. However, certain edge ca (...)

Enhance Register Allocation at Control Flow Merge Points During JIT Compilation

The JIT compiler in the Pharo VM uses an Abstract Interpreter to translate Pharo methods into machin (...)

A DJ Application with Phausto and Bloc

Develop a DJ application in Pharo using Phausto for audio playback, filters, and effects, and Bloc f (...)

ChucK inside Pharo

Implement an API to run the ChucK virtual machine directly from Pharo, allowing users to write and e (...)

Enhance Slang with Separate Compilation

Slang is a framework for writing Virtual Machines in Smalltalk and compiling them to C for performan (...)

Eliminate Object Pointers in JIT-Compiled Code for Better GC Performance

In the Pharo VM, JIT compilation embeds object pointers directly into compiled machine code. These p (...)

Better support for web elements in Foliage/Microdown

Improve the web support of Foliage and Microdown Foliage / [M (...)

Command Palette

Search for a command to run...