Metaprogramming 2.0
summary
Scala Meta provides concrete tooling: a syntactic API that parses multiple Scala dialects (including SBT), quasiquotes, token-aware trees that preserve comments and formatting, and a precise AST that distinguishes infix, arguments and terms. The project already shows momentum with 3k commits and 19 milestones and ships a beta; semantic APIs plus on-disk persistence are planned. A prototype implements inline macros and macro annotations and was produced in 14 hours. Real users include Codacy patterns, scalafmt reformatting, and Dotty linker rewrites.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 0:45What is Scala Meta
- 1:14Scala Meta is real
- 1:37Meta is a community
- 2:19Meta is a product
- 2:38Meta is officially endorsed
- 3:07Whats it good for
- 3:29First stable release
- 3:45Whats in there
- 4:51Whats next
- 5:10Semantic KPIs
- 5:39Live Demo
- 9:31Format
- 11:41Tokens
- 13:22SBT
- 18:55Summary
- 20:06Macros
- 23:57Table
- 27:20Inline macros
- 27:50Macro notations
- 34:39Future of Meta
- 34:50Users
- 35:09Code Analysis
- 37:55Scala FMT
- 39:13Rewriting rules
- 41:38Scala Meta
related talks
01h 37mHands-on Scala.Meta
48mMetaprogramming in Dotty
39mPhilosophy of Scala macros
42mAvoiding macros with inline and derived
12mMulti-Stage Programming with Generative and Analytical Macros
27mDo You Even Macro?
13mParboiled2: better parsing in Scala
43mAdventures in Metaprogramming: Macros versus Shapeless
