Java, Scala, Functional Programming, Concurrency, Macro.
for a good overview, take a look at this presentation by Magda Stożek. But Scala doesn’t stop there-the direct replacement for annotation-based code generation are inlines and macros. They allow generating Scala code at compile-time, in a type-safe way, while using the full Scala language to define