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.
Nicolas Stucki
@stucki153
Ph.D. student at LAMP working on metaprogramming for Dotty. Have been involved with the LAMP and Scala/Scala.js/Dotty since 2013.