Dotty / Scala 3 compiler
I worked on the Scala 3 compiler with both the VirtusLab team and the LAMP team at EPFL.
I worked on the Scala 3 compiler with both the VirtusLab team and the LAMP team at EPFL.
A tool for searching Scala 3 documentation using types as search keys.
A Scala 3 library that safely rewrites for-comprehensions into applicative or parallel counterparts at compile time.
I am a maintainer of the LSP implementation for Rocq — VsRocq
I developed its Scala 3 implementation using the Quotes metaprogramming API.
I contributed end-marker inlay hints and code actions to the Scala language server and client.
I studied computer science at AGH University of Science and Technology in Kraków. My Bachelor's project used types as search keys for Kotlin documentation. The project later moved to Scala and evolved into Inkuire. I worked on it with Andrzej Ratajczak and Filip Zybała, supervised by Bartosz Baliś.
I completed a master's degree in computer science at Chalmers University of Technology in Gothenburg. My project, advised by Magnus O. Myreen, was on verified inlining and specialisation for PureCake.
I am doing my PhD at EPFL in SYSTEMF. My first semester project was focused on modularity improvements to the Scala 3 compiler.
I was a teaching assistant for CS-214 at EPFL in 2024 and 2025, coordinating its final web-application project and deployment.
I received AGH Scholarships in 2018, 2020, and 2021, awarded to the top 10% of students at AGH UST.
I worked at VirtusLab as a Scala developer for slightly over five years. My projects included:
Technologies I used, in order of proficiency: Scala (ZIO, Cats, Spark Catalyst, Akka, Play!, Slick); Java; SQL (PostgreSQL, Snowflake, BigQuery, DuckDB, SparkSQL); TypeScript and JavaScript (Angular, AngularJS); HTML and CSS.
If you are interested in working on: verified compilation, interactive theorem proving, compilers in general, verification of software, proof engineering, developer tooling, get in touch.
This project aimed to make the Scala 3 compiler clear local variables after their last use, so the garbage collector can reclaim their values. In the example below, the reference to ints remains on the stack while foreach runs, causing an out-of-memory error:
def print_forever() =
val ints = LazyList.from(0)
ints.foreach(println)This project develops a readable and expressive DSL (that is valid Scala 3 syntax) for writing code rewrite patterns and a rewriting engine that applies these rewrites (using scalafix). The aim of this project is to: (1) provide a tool for library maintainers to write migration rewrites (2) a tool for teachers to provide personalized code-quality feedback at scale.