Back to Programs

Programming languages

Swift

Fast, safe, and expressive programming language

build toolsc++cmakeswift

Participation history

9 GSoC years

2026

3 projects

Official year page

Task and TaskGroup Tracking for Swift Concurrency

Swift's concurrency runtime has no mechanism to enumerate live Tasks and TaskGroups. When a program using async/await stalls, existing tools such as...

Qualified Name Lookup for swift-syntax

I propose reimplementing the compiler’s qualified name lookup in the Swift-only "swift-syntax" package. I will add a new API to the...

DocC Language Features in SourceKit-LSP

This project aims to extend SourceKit LSP to add DocC Language features like go-to-definition and diagnostic support for missing or broken symbol...

2025

4 projects

Official year page

Improve the display of documentation during code completion in SourceKit-LSP

Currently, SourceKit-LSP only shows the first line of the documentation for code completion items. Furthermore, it doesn’t support the Language...

JNI mode for swift-java’s source jextract tool

The swift-java interoperability library provides the jextract-swift tool, which extracts Java sources that are used to call Swift code from Java....

Swiftly Integration in VS Code

This project aims to integrate Swiftly with the Swift Extension for VSCode. It should allow users to install Swiftly and Swift toolchains in the...

Improved Console Output for Swift Testing

This project enhances the console output experience for the Swift Testing framework by designing and implementing a new, two-phase console reporter....

2024

4 projects

Official year page

Write a Swift code generator to support the creation of SAM deployment descriptor

Deploying AWS Lambda functions using AWS SAM (Serverless Application Model) requires manual creation of a deployment descriptor, posing challenges...

Expansion of Swift Macros in Visual Studio Code

“Implementing a Code Action in Visual Studio Code to show the expansion of a Swift Macro in a peeked editor”. Swift Macros allow the generation of...

Lexical scopes for swift-syntax

This proposal describes how we can implement Lexical scopes library for swift-syntax. The library would describe what declarations are available in...

Swift-etcd: A Native Client for Seamless Integration with etcd Servers

Developing a native Swift-etcd client aims to seamlessly integrate etcd, a distributed Swift key-value store into Swift applications. This project...

2023

3 projects

Official year page

Key Path inference and diagnostic improvements

SE-0249 introduced key path expressions as functions to the Swift language, to allow Swift users to write a more concise \Root.value in place of the...

Swift native implementation of a Memcached Client using SwiftNIO for the networking stack.

I will be developing a native Swift Memcached client using SwiftNIO to address the need for an efficient and user-friendly caching solution in Swift...

Implement Incremental Re-Parsing in SwiftParser

Considering the performance, instead of reparsing the entire file every time, we could speed up the parsing procedure with the information provided...

2022

5 projects

Official year page

Improving the Debug Output Of The Type Inference Algorithm

Swift’s type inference algorithm allows us to write source code without explicit type notations. It is implemented using a type checker that breaks...

Interactive mode for swift CLI tool ArgumentParser

For this project, we would design and implement an interactive mode for command-line tools built using ArgumentParser that prompts for any required...

Quick navigation in DocC Render

DocC Render is an open-sourced project that let us visualize `.doccarchive` on the web, it renders the compiled Swift codebase documentation in a...

Bootstrapping SwiftSyntaxBuilder

Providing excellent tooling for Swift often involves operating on Swift syntax trees directly. The swift-syntax library serves this purpose by...

Kafka Client Package for Swift

Apache Kafka is a distributed event streaming platform that is very widely used to process and store data. This project aims to create a Swift...

2021

5 projects

Official year page

SwiftPM support for Swift scripts

This proposal aims to bring scripting support to SwiftPM. The goal for GSoC is some kind of proof-of-concept and is expected to be the foundation of...

Inlay type hints for SourceKit-LSP

Inlay hints take advantage of Swift's powerful type inference by visualizing inferred types throughout a Swift program in the editor. This makes it...

Shared Storage for Property Wrappers

Property Wrappers are responsible for wrapping common getting and setting boilerplate and also for storing any auxiliary helpers. Often, these...

A "Bite-Sized" BitArray

View the final API Review here: https://forums.swift.org/t/bit-array-and-bit-set-api-review-the-end-of-a-gsoc-project/51396

Alive for SIL

The Alive for SIL project aims to build a tool that will find errors in optimizations performed by the Swift compiler. SIL (a.k.a. Swift Intermediate...

2020

4 projects

Official year page

Localization of Compiler Diagnostic Messages

Diagnostics play a vital role in a programming language experience. It’s vital for developer productivity that the compiler can produce proper...

LTO support for Swift

Swift supports multiple levels of optimizations per single module. This project aims to achieve LTO support for Swift at LLVM level and at Swift’s...

Improving Swift’s Debugger experience on Linux

Debuggers are essential tools in aiding developers to do their work more efficiently. They are inherently tied to the target operating system, and...

Swift (Server) Tracing

Libraries for Logging and Metrics, embraced by the Serverside Swift Work Group, have enabled many Swift projects to simplify their code bases by...

2019

1 project

Official year page

Integrating libSyntax with the Rest of the Compiler Pipeline

Over the last couple of years, the Swift compiler has gained a new library called libSyntax. Its purpose is to represent the syntax of Swift source...

2018

0 projects

Official year page
This year is recorded for the organization, but project-level links are not present in the source dataset.