Adam Warski shows how to replace features of DI containers with plain Scala code using MacWire, and adding interceptors using macros.
Eugene Burmako introduces Scala macros, starting with the initial design and the actual release in production in Scala 2.10, addressing Scala macro system use cases and patterns.
Andreas Rumpf introduces Nimrod, a statically typed programming language supporting unhygienic/hygienic and declarative/imperative AST-based macros. The talk focuses on metaprogramming capabilities.
Chris Houser and Jonathan Claggett compare macros with monads, suggesting when it is better to use each of them, and pondering what could be done to improve them.
Gary Fredericks discusses macros, what they are, how to write good ones, when to use them and when to avoid using them.
José Valim introduces Elixir, a programming language for the Erlang VM – an attempt to provide better abstractions and productivity tools like protocols and macros usually required for web development.
David McNeil introduces a model for thinking about Clojure evaluation through code samples with the purpose for an easier understanding and writing of macros.