forked from typelevel/typelevel.github.com
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdirectory.conf
More file actions
213 lines (201 loc) · 7.73 KB
/
directory.conf
File metadata and controls
213 lines (201 loc) · 7.73 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
medium-length: Medium (~ 175 hours)
long-length: Long (~ 350 hours)
ideas: [
{
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-length}
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-length}
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-length}
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-length}
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-length}
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-length}
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-length}
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-length}
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 algebraic datatypes, Cats typeclasses, and mechanical sympathy."
prereqs: Interest in functional programming
difficulty: "Medium. This is a good project for beginners!"
length: ${long-length}
mentors: [armanbilge, johnynek]
categories: [web, programming languages]
repolinks: [
{
name: Cats Collections
url: "https://github.com/typelevel/cats-collections"
}
]
},
{
title: Doodle Immediate Mode Algebra
description: "Design and implement an API for Doodle that allows low-level bitmap based operations."
prereqs: "Proficient with Scala and some understanding of computer graphics."
difficulty: Medium
length: ${medium-length}
mentors: [noelwelsh]
categories: [media, programming languages]
repolinks: [
{
name: Doodle
url: "https://github.com/creativescala/doodle/issues/93"
}
]
},
{
title: Doodle Skia Backend
description: "Add a Skia backend to Doodle, greatly improving the performance and expressivity available on the JVM."
prereqs: "Proficient with Scala and some understanding of computer graphics. This involves working with a library (Skija) that is not well documented and itself wraps a C++ library with patchy documentation. Hence a willingness to dive into foreign code bases is necessary."
difficulty: Medium
length: ${medium-length}
mentors: [noelwelsh]
categories: [media, programming languages]
repolinks: [
{
name: Doodle
url: "https://github.com/creativescala/doodle/issues/175"
}
]
},
{
title: Krop Template System
description: "Add a template system to the Krop web framework that works client- and server-side."
prereqs: "Proficient with Scala and a reasonable understanding of parsing."
difficulty: Medium
length: ${medium-length}
mentors: [noelwelsh, j-mie6]
categories: [web, programming languages]
repolinks: [
{
name: Krop
url: "https://github.com/creativescala/krop/issues/14"
}
]
},
]