Metaprogramming in Elixir: Writing Code That Writes Code

A practical introduction to macros, quote, unquote, compile-time code generation, and domain-specific languages