th-abstraction v0.4.0.0 Release Notes

Release Date: 2020-09-29 // about 4 years ago
    • Adapt to the TyVarBndr data type gaining a new flag type parameter (in template-haskell-2.17.0.0) to represent its specificity:
      • Introduce a new Language.Haskell.TH.Datatype.TyVarBndr module that defines TyVarBndr_, a backwards-compatible type synonym for TyVarBndr, as well as backporting TyVarBndrSpec, TyVarBndrUnit, and Specificity. This module also defines other useful functions for constructing and manipulating TyVarBndrs.
      • The types in Language.Haskell.TH.Datatype now use TyVarBndr_, TyVarBndrUnit, and TyVarBndrSpec where appropriate. Technically, this is not a breaking change, since all three are simple type synonyms around TyVarBndr, but it is likely that you will need to update your th-abstraction-using code anyway if it involves a TyVarBndr-consuming function.

Previous changes from v0.3.2.0

    • ๐Ÿ‘Œ Support substituting into and extracting free variables from ForallVisTs on template-haskell-2.16.0.0 (GHC 8.10) or later.
    • ๐Ÿ›  Fix a bug in which freeVariables could report duplicate kind variables when they occur in the kinds of the type variable binders in a ForallT.
    • ๐Ÿ›  Fix a bug in which resolveInfixT would not resolve UInfixTs occurring in the kinds of type variable binders in a ForallT.
    • ๐Ÿ›  Fix a bug in which the TypeSubstitution ConstructorInfo instance would not detect free kind variables in the constructorVars.