Northeast Scala Symposium
2023

Adam Warski

I am one of the co-founders of SoftwareMill, where I code mainly using Scala and other interesting technologies. I am involved in open-source projects, such as ox, tapir, sttp, quicklens, elasticmq and others. I have been a speaker at major conferences, such as JavaOne, LambdaConf, Devoxx and ScalaDays. Apart from writing closed- and open-source software, in my free time I try to read the Internet on various (functional) programming-related subjects. Any ideas or insights usually end up with a blog (https://softwaremill.com/blog)

Building a concurrency library on top of Loom

Abstract - Everybody's talking about Project Loom, but how to best use it in practice? Does it replace the reactive libraries and functional effects? We'll try to answer some of these questions during a live-coding session!

Project Loom significantly enriches our development toolbox: we get an asynchronous runtime with direct syntax, plus a set of low-level APIs for structured concurrency. Using these basic building blocks, what else might a developer do than use them to build a developer-friendly, Loom-focused concurrency library? Let's see how this might play out. Expect a lot of code! We'll use Scala for its flexibility in defining elegant abstraction, JVM 21 for Loom, and draw inspiration from Go when modelling channels. As we code, we'll also look at how such an approach compares to functional effect systems in terms of safety, developer experience, "reactiveness", type-level guarantees, and other properties.