| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.TH.TypeGraph.Expand
Description
The Expanded class helps keep track of which Type values have
been fully expanded to a canonical form. This lets us use the Eq
and Ord relationships on Type and Pred values when reasoning
about instance context. What the expandType function does is use
the function from th-desugar to replace occurrences of ConT name
with the associated Type if name is a declared type synonym
TySynD name _ typ. For convenience, a wrapper type E is
provided, along with the Expanded instances E Type and E
Pred. Now the expandType and expandPred functions can be used
to return values of type E Type and E Pred respectively.
Instances Expanded Type Type and Expanded Pred Pred are
provided in Language.Haskell.TH.Context.Unsafe, for when less
type safety is required.