packages feed

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 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