Back to Programs

Programming languages

Scala Center

Guide and support the Scala community

scalascala nativescala.jsfunctional programmingjvm

Participation history

8 GSoC years

2025

14 projects

Official year page

Enhancing Metals with Play Framework Support

In Metals, the LSP implementation for Scala, there is currently no built-in support for Play Framework-specific files such as .scala.html templates...

LLM4S - Support image, voice and other LLM modalites : A Proposal

LLM4S aims to establish Scala as a premier language for building multimodal Large Language Model applications. This project extends the toolkit's...

Workflows4s : Web UI for Tracking & Debugging

This project aims to create a dedicated web-based user interface for the workflows4s library to address the current lack of visual debugging tools....

Cyfra: Support for basic GPU computations on data streams with fs2 integration

Cyfra is a GPU runtime and a DSL that makes Scala a viable choice for GPU programming. Currently, the Scala ecosystem does not have an easy-to-use...

LLM4S - Implement an agentic toolkit for Large Language Models

LLM4S is building a Scala-native AI toolkit that leverages functional programming principles and strict compile-time checks to ensure the reliability...

Optimizing Retrieval-Augmented Generation Pipelines for Accurate and Efficient Q&A Systems

This project aims to bring the power of Retrieval-Augmented Generation (RAG) into the Scala ecosystem by building a robust Scala interface to...

ChatOps4s Prototype - MS Teams Backend

This project focuses on building a seamless API integration between MS Teams and the ChatOps4s prototype through a clean, efficient interface. The...

A Pandas Experience

This project aims to improve the way Scautable handles CSV files by making structured data parsing in Scala more robust, flexible, and user-friendly...

ChatOps4s Prototype

This project aims to develop a prototype that simplifies data exchange within Slack, enabling seamless information retrieval and input with minimal...

Creation of blueprints in Scalus

Currently Scalus doesn't have a lot of non-trivial examples. In this project we will develop application examples (blueprints) for Scalus, which can...

Cyfra: Real-time Rendering Pipeline

Cyfra is a GPU runtime and DSL that simplifies GPU programming in Scala by abstracting Vulkan. This project will build a real-time rendering pipeline...

Implementing Bitmap Convolutions for Doodle

This project will add bitmap convolution support to Doodle, enabling powerful image processing effects like blurring, sharpening, edge detection, and...

Scaladex: Support for Compiler Plugins

Scaladex, the central index for open-source Scala libraries, currently does not have dedicated support for Scala compiler plugins—special artifacts...

LLM4S - Tracing Support

The proposed solution introduces comprehensive tracing capabilities to the LLM4S toolkit by integrating OpenTelemetry (otel4s) for capturing detailed...

2024

10 projects

Official year page

Fluent library for Files and Processes in Fs2

FS2 is a key part of the Typelevel ecosystem for streaming I/O operations in Scala, offering powerful APIs that provide a wide range of functionality...

Scala Sampler for Functional Soundscapes

This proposal aims to develop a sampler instrument for the Sounds of Scala project. Sounds of Scala is a web audio and music library that runs on the...

Scaldex- Display information from POM file - GSoC 2024 Proposal

The Scala ecosystem thrives on information accessibility, and Scaladex stands as a pivotal resource in this domain. However, the current scope of...

Scaladex: New Artifact Page

My project aims to address the challenge of navigating and accessing artifacts within Scala projects on Scaladex. Currently, users face difficulty in...

Automatic assembling of effect monad

Currently, dotty-cps-async does not support effect systems, hindering its further development. Additionally, there is no mechanism to automatically...

Going Feral on The Cloud

This project involves extending the Feral library to support more cloud providers, specifically Google Cloud and Vercel, in addition to AWS Lambda,...

Doodle Canvas

Doodle is a Scala library for 2D graphics, animation, data visualization, and creative coding. It supports JVM-based applications, utilizing Java2D...

Scaladoc search in Protosearch

The problem I aim to solve is the inefficiency in searching for specific Scala code information, particularly within Scaladoc documentation....

Scala CLI Source Code Generator Support

A common feature that most build tools supports common source code generator such as Protobuf or Smithy. The idea of supporting code generator has...

Generate Scala Documentation website with Scaladoc

This project aims to migrate the existing Scala documentation website from Jekyll to Scaladoc. This migration will provide a more streamlined,...

2023

6 projects

Official year page

Unlocking the Full Potential of Scala Web Development with Scala 3

This proposal aims to integrate Scala 3 support into the Scala Webapp Template, providing a more accessible, reliable, and powerful solution for...

Breaking the Thread Barrier: Boosting I/O Performance with io_uring and FS2

The current state of the asynchronous I/O on the JVM involves using separate selector threads to manage I/O events through system functions like...

http4s Ember WebSocket Client

The aim of this project is to implement an http4s Ember WebSocket client, a pure functional WebSocket client in Scala and integrate it with other...

Scala Center GSoC Proposal: Data Visualization

The Doodle library for compositional vector graphics can be further improved by adding support for coordinate planes, the grid, legend, labels and...

Generation of 'async-shifted' version of high-order functions

This proposal aims to solve the issue of using high-order functions with asynchronous functions when there is no platform support of continuations...

Enhancement of quote pattern matching in Scala 3

Macro is a metaprogramming feature that allows programmers to analyze and synthesize code at compile-time. Scala 3 supports a powerful yet type-safe...

2022

4 projects

Official year page

Porting of Scalafix ExplicitResultTypes rule to Scala 3

The ExplicitResultTypes rule of the Scalafix linting tool is responsible for inferring and explicitly adding the types for “val”, “var” and “def”...

Proposal for Optimization of Scala Native linker

Scala Native is an ahead-of-time and prevalent compiler for Scala. The traditional compilation is to compile Scala into Java Virtual Machine(JVM)...

Semantic highlighting for Scala in VS Code

This project implements the idea “Semantic highlighting in VS Code” * in the Scala Center. Summary of process is as follows. 1. Building the VS Code...

Doodle Explore

Doodle is a generative art library. Using it, programmers can create artwork, statistical model visualizations, or other graphics. These graphics are...

2021

4 projects

Official year page

Implement support for ScalaPy in Scala 3

The name Scala comes from the word scalable, and true to that name, the Scala language is used to power busy websites and analyze huge data sets....

A Python - Scala integrated environment with Almond, Ammonite and ScalaPy

The project aims to improve the integration between ScalaPy and Ammonite/Almond by providing a frictionless installation experience plus a number of...

Cross compiling “Shapeless 2” to “Scala 3”

The library shapeless is found everywhere in the Scala ecosystem, helping people do metaprogramming and typeclass derivation without using macros...

Add synthetics and symbol information for semanticdb in Scala 3

Semantic information is essential for rich IDE features such as go-to-implementation and rename. Metals utilizes semantic information extracted from...

2018

1 project

Official year page

Binding Generator for Scala Native

Scala Native provides bindings for several C and POSIX APIs out of the box. To help complete and maintain the list of supported APIs as well as...

2017

8 projects

Official year page

Reimplement the JDK in Scala Native

Scala Native is a new target for Scala. It uses llvm to compile Scala to native assembly code, instead of compiling it to JVM bytecode. However, as...

Slick bug and feature hunt

This is a project to tackle as many issues as possible open in the Slick issue tracker with a priority on resolving long standing bugs and...

Implementation of concurrent java library for Scala Native

Scala Native is the a new Scala compiler under development. This compiler will permit Scala users to compile directly Scala code to binary and use...

Auto-completion and type information in Scastie

Scastie is an online Scala programming environment which, unfortunately, does not provide such common features as automatic code completion and ad...

Case classes a la carte with scala.meta

case classes are a very useful feature of the scala language, but can be limiting. For example, there is no way to modify the internal representation...

Connecting potential contributors with Scala projects via Scaladex

This project's main goal is to make it easy for potential contributors to use Scaladex to find Scala projects they can work on. This will involve...

Enforcing type safety in Dottydoc code examples

This project aims to extend the Dotty documentation compiler (alias "Dottydoc") to make code examples found in comments type safe, with the purpose...

CBT IntelliJ IDEA‎ plugin

Add an IntelliJ IDEA‎ support for the CBT by writing a plugin or extending an exciting Scala plugin.

2016

9 projects

Official year page

Better off-heap collections for Scala

Scala-offheap is an experimental project which provides type-safe off-heap memory management for Scala language. The goal of this project is to...

Flexible Fast Parser Combinators

The FarstParse library is a simple replacement for the original Scala Parser Combinators. It uses the same ideas and implements the same...

Working towards a fully featured version of CBT

CBT is a build tool in its infancy with a lot of room for optimisation and enhancement. As such, development is still very fast moving. The goal of...

Dottydoc

During the winter break I decided to give back to the Scala community. I re-built the entire documentation website and implemented a new search...

Java source code to Scala.js IR compiler

As Scala.js is Scala compiled to JavaScript, it seems only fitting that it can also compile Java code. One of the things that make Scala so popular...

Implementation of Coroutine-­Based Utilities

Scala Coroutines generalizes subroutines in a clean and composable way, but currently provides little value to the average user who wants to use...

Source Code Preserving AST

The goal of this project is to design a unifying AST which helps preserving source ­code attributes thereby allowing...

ENSIME Graphocalypse

ENSIME is an IDE feature provider, available for most popular text editors. Currently, it uses regular relational database with a Lucene full-text...

Ammonite - Better Scripts in Scala

Ammonite is an improved Scala REPL supporting convenient and robust File System operations and Typesafe bash scripting coming over lot of sloppiness...