- Update to support GHC 9.10 and 9.12.
Now requiresghc-tcplugin-api
0.13 or above.
- Be more thorough when resetting GHC solver monad state. This should ensure transparent backtracking after giving up on the LHS of a disjunction constraint.
-
Add a fixity declaration for
(||)
(infixr 2
, matching term-level disjunction). -
Reset the GHC solver monad state after failing to solve the LHS constraint in a disjunction.
-
Require
ghc-tcplugin-api >= 0.11
.
-
Only consider a constraint solved when there are no residual constraints.
-
Bump version bounds for
ghc-tcplugin-api
.
- Bumping of version bounds, and support for GHC 9.4 and GHC 9.6.
Now requires
ghc-tcplugin-api
0.9 or above.
- Add the
(||)
constraint disjunction mechanism, with
dispatch :: ( c || d ) => ( c => r ) -> ( d => r ) -> r
This allows users to select between two different constraints.
This is more general than ifCt
, as it allows extra constraints
in the fallback branch.
- Implement
IfCt
,ifCt
in terms of(||)
anddispatch
.IfCt
becomes a type synonym, which means that it no longer bundlesifCt
.
- Minor documentation improvements.
- Require
ghc-tcplugin-api >= 0.5.1.0
.
-
Add a type family
IsSat :: Constraint -> Bool
that computes whether a type-family is satisfied in the current context. -
Rename
IfCt
toIfSat
.
Initial release.