Scala Macros and Metaprogramming
Become a Scala wizard. Learn how to manipulate Scala code at compile time (with Scala!) and write powerful code and tools that other developers only dream about.
EnrollThe full course description can be found here.
Your Instructor
I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.
As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.
I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.
Course Overview
-
PreviewWhat's a Macro? (33:28)
-
PreviewQuoting (22:15)
-
PreviewTypes (16:38)
-
StartQuote Matching (27:47)
-
StartType Matching (13:32)
-
StartError Reporting (16:05)
-
StartGivens and Summoning (11:16)
-
StartBuilding Expressions (19:31)
-
StartLists of Expressions (8:43)
-
StartMacro Reflection (36:22)
-
StartStructural Types and Records (25:15)
-
StartDisplaying Trees (14:28)
-
StartSymbols (21:47)
-
StartTree Matching (8:17)
-
StartVal Defs (13:48)
-
StartDef Defs (26:24)
-
StartMapping and Aggregating Trees (34:16)