Dotty Documentation


Edit this page on GitHub


Talks on Dotty

Deep Dive with Dotty

  • (Mar 21, 2017) Dotty Internals 1: Trees & Symbols by Dmitry Petrashko. This is a recorded meeting between EPFL and Waterloo, where we introduce first notions inside Dotty: Trees and Symbols.

  • (Typelevel Summit Oslo, May 2016) Dotty and types: the story so far by Guillaume Martres [slides]. Guillaume focused on some of the practical improvements to the type system that Dotty makes, like the new type parameter inference algorithm that reasone about the type safety of more situations.

  • (flatMap(Oslo) 2016) AutoSpecialization in Dotty by Dmitry Petrashko [slides]. The Dotty Linker analyses your program and its dependencies to apply a new specialization scheme. It builds on our experience from Specialization, Miniboxing and the Valhalla Project, and drastically reduces the size of the emitted bytecode. And, best of all, it's always enabled, happens behind the scenes without annotations, and results in speedups in excess of 20x. Additionally, it "just works" on Scala collections.

  • (ScalaSphere 2016) Hacking on Dotty: A live demo by Guillaume Martres [slides] Guillaume hacks on Dotty: a live demo during which he creates a simple compiler phase to trace method calls at run-time.

  • (Scala By the Bay 2016) Dotty: what is it and how it works by Guillaume Martres [slides] Guillaume provides a high-level view of the compilation-pipeline of Dotty.

  • (Scala World 2015) Dotty: Exploring the future of Scala Dmitry Petrashko [slides] covers many of the new features that Dotty brings on the table such as Intersection and Union types, improved lazy val initialization and more. Dmitry also covers dotty internals and in particular the high-level of contextual abstractions of Dotty. You will get to become familiar with many core concepts such as Denotations, their evolution through (compilation) time, their transformations and more.

  • (ScalaDays 2015, Amsterdam) Making your Scala applications smaller and faster with the Dotty linker by Dmitry Petrashko [slides]. Dmitry introduces the call-graph analysis algorithm that Dotty implements and the performance benefits we can get in terms of number of methods, bytecode size, JVM code size and the number of objects allocated in the end.