ghc-typelits-knownnat 0.8.3 → 0.8.4
raw patch · 3 files changed
+10/−6 lines, 3 filesdep ~ghc-tcplugin-apiPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: ghc-tcplugin-api
API changes (from Hackage documentation)
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat a, GHC.Internal.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownBoolNat2 "GHC.Internal.Data.Type.Ord.<=?" a b
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat a, GHC.Internal.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownBoolNat2 "GHC.Internal.Data.Type.Ord.OrdCond" a b
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat a, GHC.Internal.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.Internal.TypeNats.*" a b
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat a, GHC.Internal.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.Internal.TypeNats.+" a b
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat a, GHC.Internal.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.Internal.TypeNats.^" a b
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat a, GHC.Internal.TypeNats.KnownNat b, b GHC.Internal.Data.Type.Ord.<= a) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.Internal.TypeNats.-" a b
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y, 1 GHC.Internal.Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.Internal.TypeNats.Div" x y
- GHC.TypeLits.KnownNat: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y, 1 GHC.Internal.Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.Internal.TypeNats.Mod" x y
- GHC.TypeLits.KnownNat: instance (GHC.TypeLits.KnownNat.KnownBool a, GHC.Internal.TypeNats.KnownNat b, GHC.Internal.TypeNats.KnownNat c) => GHC.TypeLits.KnownNat.KnownNat2Bool "GHC.Internal.Data.Type.Bool.If" a b c
+ GHC.TypeLits.KnownNat: instance (GHC.TypeLits.KnownNat.KnownBool a, GHC.TypeNats.KnownNat b, GHC.TypeNats.KnownNat c) => GHC.TypeLits.KnownNat.KnownNat2Bool "Data.Type.Bool.If" a b c
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownBoolNat2 "Data.Type.Ord.<=?" a b
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownBoolNat2 "Data.Type.Ord.OrdCond" a b
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.*" a b
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.+" a b
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.^" a b
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat a, GHC.TypeNats.KnownNat b, b Data.Type.Ord.<= a) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.-" a b
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, 1 Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.Div" x y
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, 1 Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.Mod" x y
- GHC.TypeLits.KnownNat: boolVal :: forall (b :: Bool) proxy. KnownBool b => proxy b -> Bool
+ GHC.TypeLits.KnownNat: boolVal :: forall b proxy. KnownBool b => proxy b -> Bool
Files
CHANGELOG.md view
@@ -1,5 +1,8 @@ # Changelog for the [`ghc-typelits-knownnat`](http://hackage.haskell.org/package/ghc-typelits-knownnat) package +## 0.8.4 *May 13th 2026*+* Bump ghc-tcplugin-api to prepare for inclusion into stackage+ ## 0.8.3 *March 20th 2026* * Unfix -fdefer-type-errors regression as it caused more regressions
ghc-typelits-knownnat.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: ghc-typelits-knownnat-version: 0.8.3+version: 0.8.4 synopsis: Derive KnownNat constraints from other KnownNat constraints description: A type checker plugin for GHC that can derive \"complex\" @KnownNat@@@ -89,7 +89,7 @@ ViewPatterns build-depends: base >= 4.9 && <5, ghc >= 8.0.1 && <9.17,- ghc-tcplugin-api >= 0.18.1.0 && <0.19,+ ghc-tcplugin-api >= 0.19 && <0.20, ghc-typelits-natnormalise >= 0.9.0 && <0.10, transformers >= 0.5.2.0 && <0.7, template-haskell >= 2.11.0.0 && <2.26
src/GHC/TypeLits/KnownNat/Solver.hs view
@@ -286,10 +286,11 @@ normalisePlugin :: TcPlugin normalisePlugin =- TcPlugin { tcPluginInit = lookupKnownNatDefs- , tcPluginSolve = solveKnownNat- , tcPluginRewrite = const emptyUFM- , tcPluginStop = const (return ())+ TcPlugin { tcPluginInit = lookupKnownNatDefs+ , tcPluginSolve = solveKnownNat+ , tcPluginRewrite = const emptyUFM+ , tcPluginPostTc = const (return ())+ , tcPluginShutdown = const (return ()) } solveKnownNat :: KnownNatDefs -> [Ct] -> [Ct]