Skip to content

Commit 15e5a29

Browse files
authored
Merge pull request #542 from armanbilge/gsoc/2025-ideas
Update GSoC ideas page
2 parents 2c3c609 + 0100fe8 commit 15e5a29

File tree

1 file changed

+74
-10
lines changed

1 file changed

+74
-10
lines changed

_data/gsoc-ideas.yml

Lines changed: 74 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
- title: Serverless integrations for Feral
1919
description:
20-
Feral is a Typelevel library for building serverless functions that currently supports AWS Lambda and Google Cloud Run Functions. We want to support more cloud providers, such as Cloudflare Workers.
21-
prereqs: Scala, interest in Functional Programming, ideally experience with serverless
20+
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.
21+
prereqs: Scala, ideally experience with serverless
2222
difficulty: Medium.
2323
length: medium
24-
mentors: [armanbilge]
24+
mentors: [armanbilge, bpholt]
2525
categories: [cloud, programming languages]
2626

2727
- title: Native I/O backend for FS2 JVM
@@ -30,13 +30,77 @@
3030
prereqs: Scala, ability to read C
3131
difficulty: Medium.
3232
length: long
33-
mentors: [antoniojimeneznieto, djspiewak, armanbilge]
33+
mentors: [antoniojimeneznieto, djspiewak, mpilquist, armanbilge]
3434
categories: [operating systems, programming languages]
3535

36-
- title: "Streaming implementation of an XQuery subset"
37-
description: "XQuery allows for transforming XML data in a declarative way. Based on the generic streaming query engine added into the [fs2-data](https://fs2-data.gnieh.org) library, write a frontend to implement a streamable subset of XQuery."
38-
prereqs: Scala, ideally some experience with XQuery
39-
difficulty: Hard.
36+
- title: Polling-based I/O in FS2
37+
description:
38+
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.
39+
prereqs: Scala, ability to read C
40+
difficulty: Medium.
41+
length: long
42+
mentors: [armanbilge, mpilquist, antoniojimeneznieto]
43+
categories: [operating systems, programming languages]
44+
45+
- title: FS2 Connection API
46+
description:
47+
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.
48+
prereqs: Scala, ideally some knowledge of networking
49+
difficulty: Hard.
50+
length: long
51+
mentors: [mpilquist, armanbilge]
52+
categories: [operating systems, programming languages]
53+
54+
- title: Web Components for Calico
55+
description:
56+
Calico is a reactive UI library built with Cats Effect and FS2. Web Components are a standard for creating framework-agnostic, reusable UI elements. The goal of this project is to enable Calico users to access the vast array of web components available by improving its DSL and code-generation.
57+
prereqs: Scala, ideally experience with Web APIs
58+
difficulty: Medium.
59+
length: long
60+
mentors: [armanbilge]
61+
categories: [web, programming languages]
62+
63+
- title: Upgrade sbt-typelevel to sbt 2
64+
description:
65+
sbt-typelevel is a plugin for sbt, the Scala build tool, used by hundreds of open source and enterprise projects. sbt 2 is in the final stages of development. We want to upgrade sbt-typelevel to sbt 2 and adopt its new features, such as "project matrix" for cross-building.
66+
prereqs: Scala
67+
difficulty: Medium.
68+
length: long
69+
mentors: [mzuehlke, armanbilge]
70+
categories: [development tools]
71+
72+
- title: Refresh Davenverse projects
73+
description:
74+
The Davenverse is a collection of several popular Typelevel libraries, including Mules and cats-scalacheck. Unfortunately, we have fallen behind on their maintenance. We want to move these libraries under the Typelevel org, refresh their build tooling, and bring them up-to-date to ensure their longevity.
75+
prereqs: Scala
76+
difficulty: Medium.
77+
length: medium
78+
mentors: [samspills, valencik]
79+
categories: [development tools, programming languages]
80+
81+
- title: Cats Effect & FS2 on WASM/WASI
82+
description:
83+
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.
84+
prereqs: Scala, ideally some experience with Wasm/WASI
85+
difficulty: Hard. Wasm/WASI support in Scala is experimental.
4086
length: long
41-
mentors: [satabin]
42-
categories: [data, streaming, programming languages]
87+
mentors: [armanbilge, tanishiking, valencik]
88+
categories: [web, cloud, operating systems, programming languages]
89+
90+
- title: Extensible log4cats interface
91+
description:
92+
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.
93+
prereqs: Scala
94+
difficulty: Medium.
95+
length: long
96+
mentors: [morgen-peschke, kubukoz, irevive]
97+
categories: [cloud, programming languages]
98+
99+
- title: http4s-fs2-data
100+
description:
101+
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.
102+
prereqs: Scala
103+
difficulty: Medium.
104+
length: medium
105+
mentors: [satabin, ybasket]
106+
categories: [cloud, web, programming languages]

0 commit comments

Comments
 (0)