-
-
Notifications
You must be signed in to change notification settings - Fork 112
Expand file tree
/
Copy pathgsoc-ideas.yml
More file actions
120 lines (111 loc) · 5.89 KB
/
gsoc-ideas.yml
File metadata and controls
120 lines (111 loc) · 5.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# title
# description: What is it about? What need does it address? What is its final goal?
# prereqs: necessary prior knowledge (typically knowing Scala, and maybe other things)
# difficulty: Easy / Medium / Hard. what will the tricky parts be?
# length: short / medium / long (90 / 175 / 350 hours)
# mentors: github handles
# categories: AI / data / dev tools / apps / cloud / media / operating systems / programming languages / science / security / social / web
# repolinks: reference links to respective github repos
- title: Serverless integrations for Feral
description:
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.
prereqs: Scala, ideally experience with serverless
difficulty: Medium.
length: medium
mentors: [armanbilge, bpholt, Chingles2404]
categories: [cloud, programming languages]
repolinks:
- name: feral
url: https://github.com/typelevel/feral
- title: Native I/O backend for FS2 JVM
description:
FS2 on the JVM currently implements its networking API using JDK NIO. Unfortunately this indirection incurs a non-trivial performance penalty. We want to replace the use of JDK NIO with direct calls to system I/O APIs such as `epoll` and `kqueue`.
prereqs: Scala, ability to read C
difficulty: Medium.
length: long
mentors: [antoniojimeneznieto, djspiewak, mpilquist, armanbilge]
categories: [operating systems, programming languages]
repolinks:
- name: fs2
url: https://github.com/typelevel/fs2
- title: FS2 Connection API
description:
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.
prereqs: Scala, ideally some knowledge of networking
difficulty: Hard.
length: long
mentors: [mpilquist, armanbilge]
categories: [operating systems, programming languages]
repolinks:
- name: fs2
url: https://github.com/typelevel/fs2
- title: Web Components for Calico
description:
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.
prereqs: Scala, ideally experience with Web APIs
difficulty: Medium.
length: long
mentors: [armanbilge]
categories: [web, programming languages]
repolinks:
- name: calico
url: https://github.com/armanbilge/calico
- title: Upgrade sbt-typelevel to sbt 2
description:
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.
prereqs: Scala
difficulty: Medium.
length: long
mentors: [mzuehlke, armanbilge]
categories: [development tools]
repolinks:
- name: sbt-typelevel
url: https://github.com/typelevel/sbt-typelevel
- title: Refresh Davenverse projects
description:
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.
prereqs: Scala
difficulty: Medium.
length: medium
mentors: [armanbilge, valencik]
categories: [development tools, programming languages]
repolinks:
- name: davenverse
url: https://github.com/davenverse
- title: Cats Effect & FS2 on Wasm/WASI
description:
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.
prereqs: Scala, ideally some experience with Wasm/WASI
difficulty: Hard. Wasm/WASI support in Scala is experimental.
length: long
mentors: [armanbilge, tanishiking, valencik]
categories: [web, cloud, operating systems, programming languages]
repolinks:
- name: cats-effect
url: https://github.com/typelevel/cats-effect
- name: fs2
url: https://github.com/typelevel/fs2
- title: Laika enhancements for typelevel.org
description:
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.
prereqs: Scala
difficulty: Medium.
length: medium
mentors: [armanbilge, valencik]
categories: [web, programming languages]
repolinks:
- name: Laika
url: https://github.com/typelevel/Laika
- name: typelevel.org
url: https://github.com/typelevel/typelevel.github.com
- title: A faster immutable list datatype
description:
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.
prereqs: Interest in functional programming
difficulty: Medium. This is a good project for beginners!
length: long
mentors: [armanbilge, johnynek]
categories: [web, programming languages]
repolinks:
- name: Cats Collections
url: https://github.com/typelevel/cats-collections