Scala macro is the feature introduced in scala version 2.10, and have an experimental status for now. They are the piece of code that is executed at compile-time. Macro definitions are similar to the normal functions except that the body of these functions starts with keyword macro.