A Maiden Voyage into Open Source, Datatypes, and Scala
Session Abstract
What optimizations can we find by making a simple change to a traditional data structure? In the summer of 2026 I developed a faster immutable linked list; implementing it was my first experience both writing Scala and working with an open source community. This talk explores my approach to data structure optimization and my acquisition of Scala.
Session Description
What if we take a traditional data structure and make a small change to it. What kind of optimizations and use cases could we exploit by simply thinking beyond what we already use every day.
This is a question I tackled with support from Google Summer of Code and the Typelevel community for 3 months through the summer of 2026. Immutable linked lists are important data structures for many functional programming applications, notably in concurrency, but what if a simple change could make them faster. Many of the most common operations we want on a list require as many pointer dereferences as elements in the list, including appending, concatenation, and methods like map and filter. Now imagine generalizing the idea of the linked list where instead of each node holding only a single element, each node holds a block of elements: each is an array of a constant size. By making this simple change, we can decrease pointer dereferences by a factor of the size of the block! Furthermore, we can use benchmarking to select an optimal block size and discover other areas where improvements can be made.
I proposed the above project to Typelevel back in April of 2026. As for my background, I’ve loved functional programming since I took the introductory class in my third year of university. I went on to TA the class for three semesters, fortifying my functional programming foundations and learning how to teach a paradigm many students have never encountered before.
When my project proposal was accepted and I began work on it, I had never touched a Scala program before. As of writing this description I am a mere 4 days into the project, and already I have learned so much about Scala. I expect the talk to be about the process of developing this block linked list datatype, interwoven with reflections and observations on the process of learning Scala and participating in the Typelevel community.
This talk has two primary goals:
- To make exploring data structures optimizations approachable, worthwhile, and fun!
- To give insight into the experience of learning Scala and contributing to open source for the first time.
Outline of the proposed talk
- Introduction/motivation
- Project Description
- Personal background
- Overview of the process of developing the new datatype, through the lens of navigating a new community and programming language
- Final reflections on the experience