What Are Macros Good For?
Channel: Underscore
Date: 14/08/2013

View side-by-side with slides on our Parleys channel: http://www.parleys.com/play/520a25c7e4b06de8a0ad962d

With compile-time metaprogramming facilities recently introduced in Scala 2.10, hackers all around the Scala ecosystem have been able to do cool things that have previously been impossible or notoriously hard to achieve. Language-integrated queries? Check. Transparent asynchronicity? Check. Strongly-typed actors? Check. Fast and boilerplate-free serialization? Check.

With more and more macros being written, there is a natural need to gather and systemize use cases of macros in Scala. In which situations are macros useful? What are the possible alternatives? What does the community do? This lecture will answer the questions by classifying popular usages of Scala macros in 2.10.x and the upcoming 2.11.0.

A talk given at Scalapeño 2013 by Eugene Burmako, graciously hosted at Google's Campus Tel-Aviv.