Eugene Burmako is a PhD student at EPFL. His recent contribution to Scala was implementing macros, available in Scala 2.10.
A peculiarity of Scala macros is the fact that they are very good at synergizing with the language features and the type system of vanilla Scala. The most impressive example of such a synergy are implicit macros that combine the flexibility of implicits and the code generation power of compile-time metaprogramming without compromising understandability and type safety.
The talk begins with a simple serializer how-to, then generalizing it without sacrificing performance. Eugene will demonstrate a trick of two from macrology 101, and then discuss matching the performance of hand-crafted serializers without going through the trouble of actually writing any boilerplate code.
Having familiarized ourselves with macros, Eugene will push the boundaries of conciseness by using materialization, a new technique introduced in Scala 2.10.2. With a couple of materializing macros in place, the amount of code necessary to make a class serializable will be reduced to absolute zero.
The talk will conclude with the details of interaction between materializers and type inference and how that allowed us to address a challenging theoretical problem.
- 6:30-7:00 - networking
- 7:00-7:10 - announcements etc
- 7:10-~8:40 - Eugene talk
- 8:40-9:00 - networking