By Alvin Alexander. Last updated: May 28, 2017
If you’re interested in “meta” programming in Scala, check out the Scalameta project. It’s described on its website like this:
“Scalameta is a clean-room implementation of a metaprogramming toolkit for Scala, designed to be simple, robust and portable. We are striving for scalameta to become a successor of scala.reflect, the current de facto standard in the Scala ecosystem.”
“Scalameta provides functionality that's unprecedented in the Scala ecosystem. Our killer feature is abstract syntax trees that capture the code exactly as it is written — with all the original formatting and attention to minor syntactic details.”