ghc-typelits-extra 0.5.3 → 0.5.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.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.GCD" x y
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.LCM" x y
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.Max" x y
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.Min" x y
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y, 2 GHC.Internal.Data.Type.Ord.<= x, 1 GHC.Internal.Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.CLog" x y
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y, 2 GHC.Internal.Data.Type.Ord.<= x, 1 GHC.Internal.Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.FLog" x y
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y, GHC.Internal.TypeNats.KnownNat z, 2 GHC.Internal.Data.Type.Ord.<= x) => GHC.TypeLits.KnownNat.KnownNat3 "GHC.TypeLits.Extra.CLogWZ" x y z
- GHC.TypeLits.Extra: instance (GHC.Internal.TypeNats.KnownNat x, GHC.Internal.TypeNats.KnownNat y, GHC.TypeLits.Extra.FLog x y GHC.Types.~ GHC.TypeLits.Extra.CLog x y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.Log" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.GCD" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.LCM" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.Max" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.Min" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, 2 Data.Type.Ord.<= x, 1 Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.CLog" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, 2 Data.Type.Ord.<= x, 1 Data.Type.Ord.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.FLog" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, GHC.TypeLits.Extra.FLog x y GHC.Types.~ GHC.TypeLits.Extra.CLog x y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeLits.Extra.Log" x y
+ GHC.TypeLits.Extra: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, GHC.TypeNats.KnownNat z, 2 Data.Type.Ord.<= x) => GHC.TypeLits.KnownNat.KnownNat3 "GHC.TypeLits.Extra.CLogWZ" x y z
- GHC.TypeLits.Extra: type DivMod (n :: Natural) (d :: Natural) = '(Div n d, Mod n d)
+ GHC.TypeLits.Extra: type DivMod n d = '(Div n d, Mod n d)
- GHC.TypeLits.Extra: type DivRU (n :: Natural) (d :: Natural) = Div n + d - 1 d
+ GHC.TypeLits.Extra: type DivRU n d = Div (n + (d - 1)) d
Files
- CHANGELOG.md +3/−0
- ghc-typelits-extra.cabal +2/−2
- src/GHC/TypeLits/Extra/Solver.hs +5/−4
CHANGELOG.md view
@@ -1,5 +1,8 @@ # Changelog for the [`ghc-typelits-extra`](http://hackage.haskell.org/package/ghc-typelits-extra) package +# 0.5.4 *May 13th 2026*+* Bump ghc-tcplugin-api to prepare for inclusion into stackage+ # 0.5.3 *March 19th 2026* * Do not require equality to unit constraint for wanted InEqs for `CLog` and `CLogWZ`. * Fix wrong reification from `CLogWZ` to `CLog` causing GHC panic. [#71](https://github.com/clash-lang/ghc-typelits-extra/issues/71)
ghc-typelits-extra.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: ghc-typelits-extra-version: 0.5.3+version: 0.5.4 synopsis: Additional type-level operations on GHC.TypeLits.Nat description: Additional type-level operations on @GHC.TypeLits.Nat@:@@ -74,7 +74,7 @@ containers >= 0.5.7.1 && <0.9, ghc >= 8.8 && <9.17, ghc-prim >= 0.5 && <1,- ghc-tcplugin-api >= 0.18.1.0 && <0.19,+ ghc-tcplugin-api >= 0.19 && <0.20, ghc-typelits-knownnat >= 0.7.2 && <0.9, ghc-typelits-natnormalise >= 0.9.5 && <0.10, transformers >= 0.4.2.0 && <0.7,
src/GHC/TypeLits/Extra/Solver.hs view
@@ -84,10 +84,11 @@ normalisePlugin :: TcPlugin normalisePlugin =- TcPlugin { tcPluginInit = lookupExtraDefs- , tcPluginSolve = decideEqualSOP- , tcPluginRewrite = extraRewrite- , tcPluginStop = const (return ())+ TcPlugin { tcPluginInit = lookupExtraDefs+ , tcPluginSolve = decideEqualSOP+ , tcPluginRewrite = extraRewrite+ , tcPluginPostTc = const (return ())+ , tcPluginShutdown = const (return ()) } extraRewrite :: ExtraDefs -> UniqFM TyCon TcPluginRewriter