packages feed

ghc-typelits-knownnat 0.5.1 → 0.6

raw patch · 3 files changed

+14/−3 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, 1 GHC.TypeNats.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.Div" x y
+ GHC.TypeLits.KnownNat: instance (GHC.TypeNats.KnownNat x, GHC.TypeNats.KnownNat y, 1 GHC.TypeNats.<= y) => GHC.TypeLits.KnownNat.KnownNat2 "GHC.TypeNats.Mod" x y

Files

CHANGELOG.md view
@@ -1,7 +1,7 @@ # Changelog for the [`ghc-typelits-knownnat`](http://hackage.haskell.org/package/ghc-typelits-knownnat) package -## 0.5.1 *July 10th 2018*-* Add support for GHC 8.6.1-alpha1+## 0.6 *September 14th 2018*+* Move `KnownNat2` instances for `Div` and `Mod` from `ghc-typelits-extra` to `ghc-typelits-knownnat`  ## 0.5 *May 9th 2018* * Fix Inferred constraint is too strong [#19](https://github.com/clash-lang/ghc-typelits-knownnat/issues/19)
ghc-typelits-knownnat.cabal view
@@ -1,5 +1,5 @@ name:                ghc-typelits-knownnat-version:             0.5.1+version:             0.6 synopsis:            Derive KnownNat constraints from other KnownNat constraints description:   A type checker plugin for GHC that can derive \"complex\" @KnownNat@
src/GHC/TypeLits/KnownNat.hs view
@@ -119,6 +119,9 @@ #if MIN_VERSION_ghc(8,2,0) import GHC.TypeNats   (KnownNat, Nat, type (+), type (*), type (^), type (-), natVal, type (<=))+#if MIN_VERSION_base(4,11,0)+import GHC.TypeNats           (Div, Mod)+#endif import GHC.TypeLits           (Symbol) import Numeric.Natural        (Natural) #else@@ -184,3 +187,11 @@ instance (KnownNat a, KnownNat b, b <= a) => KnownNat2 $(nameToSymbol ''(-)) a b where   natSing2 = SNatKn (natVal (Proxy @a) - natVal (Proxy @b))   {-# INLINE natSing2 #-}++#if MIN_VERSION_base(4,11,0)+instance (KnownNat x, KnownNat y, 1 <= y) => KnownNat2 $(nameToSymbol ''Div) x y where+  natSing2 = SNatKn (quot (natVal (Proxy @x)) (natVal (Proxy @y)))++instance (KnownNat x, KnownNat y, 1 <= y) => KnownNat2 $(nameToSymbol ''Mod) x y where+  natSing2 = SNatKn (rem (natVal (Proxy @x)) (natVal (Proxy @y)))+#endif