packages feed

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]