Skip to content

Commit fe86371

Browse files
committed
Refresh project ideas for GSoC 2026
1 parent 68d88d2 commit fe86371

File tree

2 files changed

+28
-61
lines changed

2 files changed

+28
-61
lines changed

_data/gsoc-ideas.yml

Lines changed: 20 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,6 @@
77
# categories: AI / data / dev tools / apps / cloud / media / operating systems / programming languages / science / security / social / web
88
# repolinks: reference links to respective github repos
99

10-
- title: Machine learning inference in Cats Effect
11-
description:
12-
We want to make it possible to deploy machine learning inference as part of a larger web service without compromising the latency of other on-going requests. The goal of this project is to create a compiler to transform a pre-trained ML model into a sequence of Cats Effect `IO` steps that perform inference on some input.
13-
prereqs: Scala, ideally some experience with ML
14-
difficulty: Hard but doable. Will draw on knowledge of ML and compilers.
15-
length: long
16-
mentors: [armanbilge, djspiewak, ekrich, valencik]
17-
categories: [AI, web, programming languages]
18-
repolinks:
19-
- name: cats-effect
20-
url: https://github.com/typelevel/cats-effect
21-
2210
- title: Serverless integrations for Feral
2311
description:
2412
Feral is a Typelevel library for building serverless functions that currently supports AWS Lambda and Google Cloud Run Functions. We want to add support for more types of serverless events and more cloud providers.
@@ -43,18 +31,6 @@
4331
- name: fs2
4432
url: https://github.com/typelevel/fs2
4533

46-
- title: Polling-based I/O in FS2
47-
description:
48-
Cats Effect v3.6.0 introduced the ability to poll for I/O readiness. We want to use polling to reimplement several I/O APIs in FS2, including datagrams, unix sockets, and processes, on the JVM and Native platforms.
49-
prereqs: Scala, ability to read C
50-
difficulty: Medium.
51-
length: long
52-
mentors: [armanbilge, mpilquist, antoniojimeneznieto]
53-
categories: [operating systems, programming languages]
54-
repolinks:
55-
- name: fs2
56-
url: https://github.com/typelevel/fs2
57-
5834
- title: FS2 Connection API
5935
description:
6036
TCP-based protocols are common (e.g. HTTP, Postgres, Redis) and are implemented by clients to interface with these services (e.g. Ember, Skunk, Rediculous). The goal of this project is to create a "connection" API that supports pooling, error conditions, and metrics and can be shared by all of our client libraries.
@@ -97,13 +73,13 @@
9773
prereqs: Scala
9874
difficulty: Medium.
9975
length: medium
100-
mentors: [samspills, valencik]
76+
mentors: [armanbilge, valencik]
10177
categories: [development tools, programming languages]
10278
repolinks:
10379
- name: davenverse
10480
url: https://github.com/davenverse
10581

106-
- title: Cats Effect & FS2 on WASM/WASI
82+
- title: Cats Effect & FS2 on Wasm/WASI
10783
description:
10884
Web Assembly and its System Interface are emerging technologies for deploying secure, modular applications. The goal of this project is to prototype porting the Cats Effect runtime and FS2 streaming I/O to the Wasm/WASI platform, also possibly generating feedback for the Scala WASM and WASI teams.
10985
prereqs: Scala, ideally some experience with Wasm/WASI
@@ -117,45 +93,28 @@
11793
- name: fs2
11894
url: https://github.com/typelevel/fs2
11995

120-
- title: Extensible log4cats interface
96+
- title: Laika enhancements for typelevel.org
12197
description:
122-
log4cats is the de facto logging library for the Typelevel stack. Recently, a new API was proposed that overcomes current limitations of log4cats. The goal of this project is to adopt the new API in log4cats, migrate existing integrations to the new API, and create a compatibility layer with the old API.
98+
Laika is a purely functional site and e-book generator and customizable text markup transformer. We recently migrated the Typelevel website from Jekyll to Laika. The goal of this project is improve and streamline Laika's support for generating non-documentation websites, such as blogs.
12399
prereqs: Scala
124100
difficulty: Medium.
125-
length: long
126-
mentors: [morgen-peschke, kubukoz, irevive]
127-
categories: [cloud, programming languages]
101+
length: medium
102+
mentors: [armanbilge, valencik]
103+
categories: [web, programming languages]
128104
repolinks:
129-
- name: log4cats
130-
url: https://github.com/typelevel/log4cats
105+
- name: Laika
106+
url: https://github.com/typelevel/Laika
107+
- name: typelevel.org
108+
url: https://github.com/typelevel/typelevel.github.com
131109

132-
- title: http4s-fs2-data
110+
- title: A faster immutable list datatype
133111
description:
134-
fs2-data is a streaming data library that supports a plethora of formats. http4s is a library for creating and consuming web services. http4s-fs2-data is a project to integrate the two libraries. We want to integrate more fs2-data modules as well as enhance the existing integrations.
135-
prereqs: Scala
136-
difficulty: Medium.
137-
length: short
138-
mentors: [satabin, ybasket]
139-
categories: [cloud, web, programming languages]
140-
repolinks:
141-
- name: http4s-fs2-data
142-
url: https://github.com/http4s/http4s-fs2-data
143-
- name: fs2-data
144-
url: https://github.com/gnieh/fs2-data
145-
- name: http4s
146-
url: https://github.com/http4s/http4s
147-
148-
- title: Convert Doobie test suite to use munit-cats-effect
149-
description:
150-
Doobie is a purely functional library for database access. Our test suites are written before there is good integration between MUnit (the test framework) and Cats-Effect (the effect system we depend on).
151-
We want to convert to use munit-cats-effect to make them less verbose and error prone.
152-
prereqs: Scala
153-
difficulty: Easy.
154-
length: medium
155-
mentors: [jatcwang]
156-
categories: [cloud, programming languages]
112+
Immutable linked lists are a core datatype in functional programming languages. The goal of this project is to explore implementing a list-like datatype with enhanced performance. Along the way, you will learn about immutable datatypes, Cats typeclasses, and mechanical sympathy.
113+
prereqs: Interest in functional programming
114+
difficulty: Medium. This is a good project for beginners!
115+
length: long
116+
mentors: [armanbilge, johnynek]
117+
categories: [web, programming languages]
157118
repolinks:
158-
- name: doobie
159-
url: https://github.com/typelevel/doobie
160-
- name: munit-cats-effect
161-
url: https://github.com/typelevel/munit-cats-effect
119+
- name: Cats Collections
120+
url: https://github.com/typelevel/cats-collections

_data/gsoc-projects.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,11 @@
2222
description: "Integrated Protosearch with Scaladocs, enabling a unified search experience across a project's written and API docs."
2323
permalink: "https://github.com/cozydev-pink/protosearch/pull/241"
2424
categories: [data, web]
25+
- title: "Efficient Machine Learning Inference in Cats Effect via Scala Native and mlpack"
26+
description: "Created an ONNX to IO compiler for running machine learning inference within a web service."
27+
permalink: https://github.com/armanbilge/vilcacora
28+
categories: [AI, web, programming languages]
29+
- title: Polling-based I/O in FS2
30+
description: "Implemented network socket and datagram APIs in FS2 using Cats Effect I/O polling on the JVM and Native platforms."
31+
permalink: https://github.com/typelevel/fs2
32+
categories: [operating systems, programming languages]

0 commit comments

Comments
 (0)