Idris 2 elaborator reflection provides programmers with a powerful and clean toolkit for writing metaprograms.
This is a tutorial consisting of several loosely related posts / articles about different aspects and techniques available in elaborator reflection. It was written - and is still being extended - in the hope that others might find it useful. Have fun.
- A short Introduction to Metaprogramming
- Inspecting the Structure of Idris Expressions
- Automatic Generation of Enumerations
- Generics
- Refined Primitives
- Deriving Functionality for Data Types