- Rename
mkPrimEqPredRole
tomkEqPredRole
. This is a re-exported function from GHC, and the renaming adapts to the renaming in GHC-9.13.
-
Update to changes in the type of GHC's
mkUnivCo
in order to (properly) add support for GHC 9.12. -
Change
mkPluginUnivCo
,mkPluginUnivEvTerm
andmkTyFamAppReduction
to take a[Coercion]
rather than aDVarSet
for specifying dependencies. -
Stop re-exporting
DVarSet
,emptyDVarSet
,extendDVarSet
,unionDVarSet
,unitDVarSet
, andmkDVarSet
. -
Update documentation to suggest using
ctEvCoercion
rather thanctEvId
to specify coercions that aUnivCo
depends on. -
Re-export
ctEvCoercion
, and stop re-exportingctEvId
.
-
Add preliminary support for GHC 9.12.
-
mkPluginUnivCo
,mkPluginUnivEvTerm
andmkTyFamAppReduction
now all take an additionalDVarSet
argument which allows specifying evidence that we depend on. This stops evidence terms being floated out past used enclosing Givens (see GHC issue #23923). -
Re-export
DVarSet
,emptyDVarSet
,extendDVarSet
,unionDVarSet
,unitDVarSet
, andmkDVarSet
, as well asctEvId
, in order to facilitate construction and manipulation ofDVarSet
s. -
Re-export
GHC.Types.Unique.Set
,GHC.Types.Unique.DSet
.
-
Add support for GHC 9.8.
-
Re-export functionality relating to GHC's constraint solving
TcS
monad, such as{get,set}InertSet
,{get,set}TcEvBindsMap
. -
Re-export
readTcRef
andwriteTcRef
.
-
Introduce
resolveImport
, and makePkgQual
opaque. -
Rename
tcRewriterWanteds
totcRewriterNewWanteds
(bringing it in line with nomenclature in GHC 9.4).
-
Add support for GHC 9.6 and
transformers
0.6. -
The
One
andMany
pattern synonyms are nowOneTy
andManyTy
. -
Use
mkInvisFunTy
/mkInvisFunTys
instead ofmkInvisFunTyMany
/mkInvisFunTysMany
.
- Bugfix for the GHC 9.0 rewriter plugin compatibility shim: fix coercion orientations in family application cache
- Bugfix for the GHC 9.0 rewriter plugin compatibility shim: fix coercion orientations in family rewriting.
- Bugfix for the GHC 9.2 rewriter plugin compatibility shim: fix coercion orientations in family rewriting.
-
Compatibility for GHC 9.4.
-
Change API for
lookupImportedModule
to usePkgQual
andUnitId
instead ofMaybe FastString
, with back-compatibility functionpkgQual_pkg
for use with older module lookup functions. -
Re-export
splitAppTys
andunpackFS
.
-
newWanted
now always uses theCtLoc
information that it is provided with, as opposed to obtaining some information from the monadic environment. This means you no longer need to wrap calls tonewWanted
insetCtLocM
to ensure that GHC reports the correct source span when reporting unsolved Wanteds in error messages. -
Remove the
newDerived
function, as Derived constraints are going to be removed from GHC.
-
Re-export functions for dealing with type-level literals, such as
mkNumLitTy
andisStrLitTy
. -
Re-export functions for splitting apart type applications, such as
splitAppTy_maybe
andtyConAppTyCon_maybe
. -
Redefine and re-export
mkUncheckedIntExpr
for GHC versions prior to 9.0. -
Re-export some basic types from
GHC.Types.Basic
such asArity
,PromotionFlag
andBoxity
. -
Re-export
GHC.Builtin.Names
andGHC.Builin.Types.Prim
. -
Provide
MonadThings
instances forTcPluginM
monads.
-
Re-export various useful types and functions to deal with type and coercion variables.
-
Re-export a few types and functions to deal with source locations.
-
Remove some re-exports for constructing function types, as not all functions make sense across all GHC versions supported by the library.
-
Re-export
panic
andpprPanic
.
-
Add support for GHC 8.8.
-
Re-export
evDataConApp
, which is useful for constructing typeclass dictionaries.
- Fix a bug in the type-family rewriting compatibility layer (GHC 8.10, 9.0, 9.2) by correctly downgrading the coercion used to cast the evidence, when necessary.
- Re-export some additional types and functions that are useful for inspecting
and constructing evidence terms, such as
mkTyVar
,newName
,mkLocalId
,lookupEvBind
...
- Re-export a few GHC modules, such as GHC.Core.Make and GHC.Plugins. These re-exports might be changed to be more selective in the future to aid cross-version compatibility.
-
Adapt to GHC 9.4 changes in the
TcPluginSolveResult
datatype: are now able to solve and emit constraints even when reporting a contradiction. This can help with error messages. Unfortunately these extra constraints will be dropped in versions of GHC prior to 9.4. -
Add a utility module for name resolution using constrained traversals.
-
Add compatibility for GHC 8.10.
Ensure that the coercions stored in Reduction
s are always
oriented left-to-right, by making the internal rewriting compatibility layer
also use left-to-right coercions.
Account for changes in rewriting in GHC 9.4:
- rewriter plugins can no longer emit new Wanted constraints if they don't rewrite the type family application;
- coercions in the rewriter are now oriented left-to-right,
requiring
mkTyFamAppReduction
to be adapted.
Initial release on Hackage.