Metaprogramming 2.0
summary
Scala.meta reaches a 1.0 milestone after 3K commits and exposes a platform‑independent AST plus high‑fidelity parsing that preserves comments via a first‑class tokens API. It powers a new macro model using inline + meta blocks that removes most boilerplate and enables a prototype IntelliJ expansion plugin (live expansion without recompilation). Tool successes include Codacy patterns (80+ rules) and Scala fmt, a working formatter built on tokens and layout search; early Dotty Linker rewrite‑rule experiments also integrate.
AI-written summary · about
chapters (8)
- 0:00Start
- 4:52Supported functionality
- 7:26Tokens remember all syntactic details
- 8:35Parsing support for dialects
- 12:08Example: the main macro
- 13:56Don't work with tools well
- 18:04Example: the new main macro
- 31:50How Codacy's Scala engine works
related talks
01h 37mHands-on Scala.Meta
48mMetaprogramming in Dotty
39mPhilosophy of Scala macros
42mAvoiding macros with inline and derived
43mAdventures in Metaprogramming: Macros versus Shapeless
12mMulti-Stage Programming with Generative and Analytical Macros
13mParboiled2: better parsing in Scala
27mAST Meta-programming
