Expands type synonyms in Template Haskell ASTs.
As of version 0.4.9.0
, this library is a small shim on top of the
applySubstitution
/resolveTypeSynonyms
functions from th-abstraction
, so
you may want to consider using th-abstraction
instead. The only pieces of
functionality that th-expand-syns
provides which are not currently present in
th-abstraction
are:
th-expand-syns
'expandSyns{With}
functions will warn that they cannot expand type families (if theSynonymExpansionSettings
are configured to check for this). By contrast,th-abstraction
'sapplySubstitution
function will silently ignore type families.th-expand-syns
provides asubstInCon
function which allows substitution intoCon
s.th-expand-syns
providesevade{s}
functions which support type variableName
freshening that calculating the free variables in any type that provides an instance ofData
.