Back to Programs

Programming languages

Pharo Consortium

Modern and immersive programming language

SUnitgitpharoroassalsmalltalkspec

Participation history

6 GSoC years

2026

5 projects

Official year page

Streamlining Pharo’s Refactoring Engine UI/UX

Pharo provides an immersive and interactive development environment with powerful refactoring tools. However, its current refactoring workflows can...

Data Structures and Benchmarking for Pharo [Large - 350h]

This project introduces a library of 7 data structures to the Pharo ecosystem, replacing O(N) bottlenecks with resilient, mathematically proven...

Pharo Dj App With Phausto, Spec and Bloc

To build a DJ application with two decks in Pharo, I will make use of three libraries: Phausto for audio file playback (at variable speed),...

Decoupled implementation of social norms in CORMAS

In agent-based modeling, the goal is to understand how individual agent behavior agent behavior is influenced by social norms (rules like...

Enhance Slang with Separate Compilation

The Pharo VM is written in Slang, a Smalltalk subset that is transpiled to C by the CCodeGenerator. Currently, the entire VM is generated into a...

2025

7 projects

Official year page

Implementation of Standard Data Structures and Algorithms

Pharo currently lacks robust, well-designed implementations of fundamental data structures, with existing collections being weakly supported and...

DrTest Reloaded: Enhanced User Experience and Plugin Power

This project aims to enhance the DrTest tool in Pharo by improving its usability, functionality, and performance. DrTest is a critical resource for...

Support for serious games in Cormas

This project aims to expand support for serious games within the Cormas platform, enabling easier interaction between players and environment, and...

Computer Vision for Game Piece Detection

This project extends the open-source Cormas simulation platform by integrating a computer vision system that allows real-world interaction with...

Optimizing the Pharo Compiler with Bytecode-Level Inlining

This project aims to optimize the Pharo compiler by implementing bytecode level optimization within its DRUID-based optmizing compiler. By applying...

PAM : A text-to-speech (TTS) tool for Pharo

PAM (Pharo Automated Mouth) is Pharo's first ever text-to-speech (TTS) system. It will convert English text into phonemes, add basic prosody, and...

A Seamless Interface Between LLMs and Pharo

This project aims to build ChatPharo, an intelligent, AI-powered assistant that integrates Large Language Models (LLMs) directly into the Pharo...

2023

6 projects

Official year page

Improvements in the DrTest tool

This project proposal focuses on improving two DrTest plugins: Coverage and Executable Comment. In particular, to enhance how these plugins show the...

Complex network library on top of PharoAI graph library

The study of complex networks involves analyzing the structure and dynamics of the networks and their emergent properties, such as resilience,...

Pharo-to-C VM Transpiler

The Pharo VM project is a continuation of the opensmalltalk-vm (or Cog VM) project which is the virtual machine underneath Pharo, this project will...

DataFrame Improvements

This project aims at bridging the gap between popular DataFrames and the Pharo DataFrame. This can be done by adding more functionality to the Pharo...

Chart library

Data visualization is crucial for effective communication of complex information. Chart libraries simplify chart creation with customizable...

Graph libraries Integration and redesign

Pharo is a powerful object-oriented programming language widely used in research and industry, as seen here. The graph algorithms library in PharoAI...

2021

6 projects

Official year page

3D CAD scripting using Smalltalk

In this project, we will attempt to embed FreeCAD into Pharo Smalltalk IDE, such that Smalltalk code can drive FreeCAD directly. With a pure...

Refining Code Critics

Code critics are super important while developing software systems. They help developers to find source code sections which code quality is subject...

Matrix State of the Art

There are several matrix implementations in Pharo. This project aims to compare all those implementations on different parameters like run-time,...

DataFrame

This project aims at adding some missing functionalities in Pharo DataFrame. Implementing the missing features and functionality of Pandas DataFrame...

Matrix state of the art

Today, many fields of computational sciences (Data Science, Data Visualization and even Machine Learning), mathematics, engineering, geology and...

Classes and Methods for Spatial Data

This project aims to implement "Simple Feature Access" OGC Standards in Pharo. We want to be able to load classical geospatial data files like...

2019

7 projects

Official year page

Improving Code Completion

In the ten years since its creation, the Pharo programming environment has evolved greatly: it now has Github support and many cool tools; it’s...

Next Generation Unit Testing

In Pharo almost every project uses SUnit and because of that working in enhancing SUnit and provide a user interface is valuable for everyone....

Extending DataFrame library

Aim of this project is to include advanced features in DataFrame library such as handling missing values, as well as to improve documentation...

Graph library with layouting algorithms

My project is about creating a complet, reusable library for graphs including the layouting algorithms, in Pharo. The idea is to leave it open for...

New Collections for Pharo

The project idea is to work on the development of the Containers library and to develop, collect, clean, test and document alternate collections and...

Better and more refactorings for Pharo

Refactoring tools help pharo developers to perform a number of predefined refactorings in automated fashion. However, besides the options provided by...

NLP Library for Pharo

The aim of this project is to bring SpaCy and Gensim functionality to Pharo. Along with that, I plan on integrating all the existing functioning NLP...

2017

5 projects

Official year page

Advancing in Pharo Code Quality Support

Pharo and Smalltalk in general always encouraged a good quality of code [Kent Beck “Smalltalk with style”; Refectoring Browser; SmallLint;...

Tabular Data Structures for Data Analysis

Bringing the functionality of Pandas to Pharo

Improving the VM Profiler

Improving the VM Profiler The current VM profiler is a sampling profiler cadenced at 1.3GHz tracking down where the time is spent in the C code of...

Improve FastTable and extend its possibilities

FastTable was integrated into Pharo 5.0 to solve two main problems that the old lists implementations were facing, first the performance issue, old...

Enhancing Pharo Command Line Support

Command line is the most flexible and powerful platform. It is also the fastest way to work compared to a GUI. Also, the command line will give scope...