ghc-typelits-natnormalise 0.5.9 → 0.5.10
raw patch · 3 files changed
+14/−3 lines, 3 filesdep ~ghc-tcplugins-extraPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: ghc-tcplugins-extra
API changes (from Hackage documentation)
- GHC.TypeLits.Normalise.SOP: instance (GHC.Classes.Eq v, GHC.Classes.Eq c) => GHC.Classes.Eq (GHC.TypeLits.Normalise.SOP.Symbol v c)
- GHC.TypeLits.Normalise.SOP: instance (GHC.Classes.Ord c, GHC.Classes.Ord v) => GHC.Classes.Ord (GHC.TypeLits.Normalise.SOP.SOP v c)
- GHC.TypeLits.Normalise.SOP: instance (GHC.Classes.Ord v, GHC.Classes.Ord c) => GHC.Classes.Ord (GHC.TypeLits.Normalise.SOP.Symbol v c)
- GHC.TypeLits.Normalise.Unify: instance (GHC.Classes.Eq c, GHC.Classes.Eq v) => GHC.Classes.Eq (GHC.TypeLits.Normalise.Unify.UnifyItem v c)
+ GHC.TypeLits.Normalise.SOP: instance (GHC.Classes.Eq c, GHC.Classes.Eq v) => GHC.Classes.Eq (GHC.TypeLits.Normalise.SOP.Symbol v c)
+ GHC.TypeLits.Normalise.SOP: instance (GHC.Classes.Ord c, GHC.Classes.Ord v) => GHC.Classes.Ord (GHC.TypeLits.Normalise.SOP.Symbol v c)
+ GHC.TypeLits.Normalise.SOP: instance (GHC.Classes.Ord v, GHC.Classes.Ord c) => GHC.Classes.Ord (GHC.TypeLits.Normalise.SOP.SOP v c)
+ GHC.TypeLits.Normalise.Unify: instance (GHC.Classes.Eq v, GHC.Classes.Eq c) => GHC.Classes.Eq (GHC.TypeLits.Normalise.Unify.UnifyItem v c)
Files
- CHANGELOG.md +3/−0
- ghc-typelits-natnormalise.cabal +4/−3
- src/GHC/TypeLits/Normalise.hs +7/−0
CHANGELOG.md view
@@ -1,5 +1,8 @@ # Changelog for the [`ghc-typelits-natnormalise`](http://hackage.haskell.org/package/ghc-typelits-natnormalise) package +## 0.5.10 *April 15th 2018*+* Add support for GHC 8.5.20180306+ ## 0.5.9 *March 17th 2018* * Add support for GHC 8.4.1
ghc-typelits-natnormalise.cabal view
@@ -1,5 +1,5 @@ name: ghc-typelits-natnormalise-version: 0.5.9+version: 0.5.10 synopsis: GHC typechecker plugin for types of kind GHC.TypeLits.Nat description: A type checker plugin for GHC that can solve /equalities/ of types of kind@@ -48,7 +48,8 @@ extra-source-files: README.md CHANGELOG.md cabal-version: >=1.10-tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1+tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.4.2,+ GHC == 8.5.0 source-repository head type: git@@ -66,7 +67,7 @@ GHC.TypeLits.Normalise.Unify build-depends: base >=4.9 && <5, ghc >=8.0.1 && <8.6,- ghc-tcplugins-extra >=0.2.4,+ ghc-tcplugins-extra >=0.2.5, integer-gmp >=1.0 && <1.1 hs-source-dirs: src default-language: Haskell2010
src/GHC/TypeLits/Normalise.hs view
@@ -62,6 +62,9 @@ #endif -- GHC API+#if MIN_VERSION_ghc(8,5,0)+import CoreSyn (Expr (..))+#endif import Outputable (Outputable (..), (<+>), ($$), text) import Plugins (Plugin (..), defaultPlugin) import TcEvidence (EvTerm (..))@@ -264,7 +267,11 @@ natCoBndr = (,natReflCo) <$> (newFlexiTyVar typeNatKind) forallEv <- mkForAllCos <$> (replicateM (length preds) natCoBndr) <*> pure ctEv let finalEv = foldl mkInstCo forallEv holeEvs+#if MIN_VERSION_ghc(8,5,0)+ return (Just ((EvExpr (Coercion finalEv), ct),newWanted))+#else return (Just ((EvCoercion finalEv, ct),newWanted))+#endif _ -> return Nothing unifyItemToCt :: CtLoc