Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Philosophy of Scala Macros

Strange Loop Conference via YouTube

Overview

Explore the evolution and intricacies of Scala macros in this 39-minute conference talk from Strange Loop 2013. Dive into the internals of Scala macros, starting with the initial design of def macros in Scala 2.10. Discover popular use cases and patterns characteristic of the macro system. Learn about macro paradise and its various inhabitants, including type macros, untyped macros, inference macros, jitted macros, and macro annotations. Follow the journey of these new macro concepts as they attempt to make their way into Scala 2.11, facing challenges from the Scala typechecker. Understand the emergence of blackbox and whitebox macros as the next generation of Scala macros. Gain insights into the limitations of def macros and the potential future of macro annotations in Scala 2.12. Presented by Eugene Burmako, a metaprogramming expert from École Polytechnique Fédérale de Lausanne, this talk offers a comprehensive overview of Scala macros' philosophy and development.

Syllabus

Intro
Inception
Related language features
Towards macros in Scala 2.10
Macros as implemented in 2.10
On the verge of the release
Adoption
Recognition
The main question of today's talk
Our hypothesis
Features represented with method calls
Our experience
Empowered method calls
Empowered interpolation
Empowered implicits
Example #3 - Before macros
Example #3 - Vanilla macros
Example #3 - Implicit macros
Implicits and macros: a match made in heaven
Implicits and macros: a retrospective
Summary
Limitations of def macros
Limitation #2 - Can't affect global bindings
Macro paradise
Untyped macros
Type macros
Macro annotations
Two faces of Scala macros
The phenomenon of whitebox macros
Explanation #1 - Scala is not very whitebox
Explanation #2 - Whitebox is not very Scala
The bottom line

Taught by

Strange Loop Conference

Reviews

Start your review of Philosophy of Scala Macros

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.