Back To Schedule
Room 4 - Expert

Thursday June 13th, 11:30-12:15

Metaprogramming in Dotty

About this Session

Scala 2 macros have been a great success in the community. Unfortunately, their design is tightly linked to the Scala 2 compiler internals which makes them incompatible with Dotty and hence Scala 3. With new technologies such as Typed Abstract Syntax Trees (TASTy) files, we redesigned the macros to not depend on the compiler internals.

Dotty also introduces exciting new simpler and safer metaprogramming language features. The core being the new inline methods, quotes '(...) and splices ~(...). All this while still having the possibility of interacting with tree reflection when needed.

Required Knowledge

  • Some knowledge about the compiler and ASTs
  • Some knowledge about Scala 2 macros


Nicolas Stucki

Ph.D. student at LAMP working on metaprogramming for Dotty. Have been involved with the LAMP and Scala/Scala.js/Dotty since 2013.