Scala Days 2026

Cats Go Wasm/WASI: Typelevel on Server-side WebAssembly

Recent work in the scala-wasm fork of Scala.js has made it possible for Scala apps to run directly on the WebAssembly Component Model platform. In this talk, I will share my progress of porting Cats Effect and FS2 libraries to this shiny new architecture.


The WebAssembly Component Model is a new platform for building secure, composable Wasm applications with explicitly defined, type-safe interfaces. All communication between Wasm components and the outside world has to go through standardized interfaces such as WASI. As a result of this design, all Scala code directly accessing platform-specific APIs has to be ported over to this new platform.

This year, my proposal to port core parts of the Typelevel stack onto the Wasm/WASI platform was chosen for the Google Summer of Code program. Even though the resulting code is still a prototype, it makes it possible for several real-world apps to "just run" as Wasm components with little to no changes.

In this lightning talk, I will briefly go over the set of core I/O mechanisms used by Cats Effect and FS2 and describe their prototype implementation for the WASI 0.2 API.

Mariusz Jakoniuk

I am an undergraduate CS student at the Warsaw University of Life Sciences and a soon-to-be Google Summer of Code contributor. I've been passionate about functional programing since middle school, and I'm a dedicated Unix enthusiast. Outside of computing, I'm deeply into punk rock music.