Day 4 -
Aug 21st
Stage 3
Dependent types greatly improve the expressiveness of the language, allowing to write safer programs and making more illegal states unrepresentable. Scala supports dependent typing for its functional programming constructs — methods and functions. However, when it comes to the object-oriented side of the language, dependent typing with classes requires significantly more effort. In this talk, I will present new language features that further streamline using dependent types in Scala. Specifically, I will motivate the use of dependent types, explain how we handle dependent classes in the compiler, introduce the tracked modifier, and describe other improvements for tracking precise types.
I’m a first-year PhD student at EPFL. I have worked on many things Scala; this includes being part of the Scala 3 compiler team at VirtusLab, as well as EPFL LAMP’s Scala 3 research and compiler team. I also contributed to some Scala libraries and tools e.g. Scaladoc, quicklens, Inkuire
Subscribe and follow @ScalaDays on BlueSky for the latest conference updates.