Template Haskell is a GHC extension to Haskell that adds compile-time metaprogramming facilities. The original design can be found here. It is included in GHC since version 6. The GHC Users Guide has a Template Haskell section. This page hopes to be a more central and organized repository of TH related things. What is Template Haskell? Template Haskell is an extension to Haskell 98 that allows you