Elevator Pitch
Building a debugger for a high-level programming language like Scala 3 is challenging. The JVM debugger exposes raw details of executing the bytecode, quite far from the original Scala code. In this talk we will show how we are sharpening the Scala debugger, for easier and more productive debugging.
Description
Building a debugger for a high-level programming language like Scala 3 is a challenging task. The JVM debugger provides us with the ability to pause at breakpoints, to go step by step, to inspect the call stack and the local variables. But it is not enough to call it a Scala debugger, since it exposes raw details of the execution of the bytecode, quite far from the original Scala source code. We also would like to evaluate Scala expressions at run time. By exposing these problems and their solutions, we discover some essential components of Scala, such as the compilation phases, the intermediate representation of Scala trees in TASTy and the final product in Java bytecode.
Notes
I will give this talk at ScalaCon, on Friday 7 Oct 2022.
French is my native language, so I can also give it in French.