semirings 0.5 → 0.5.1
raw patch · 3 files changed
+15/−9 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Euclidean: instance (GHC.Classes.Eq a, GHC.Real.Fractional a) => Data.Euclidean.Euclidean (Data.Euclidean.WrappedFractional a)
- Data.Euclidean: instance (GHC.Classes.Eq a, GHC.Real.Fractional a) => Data.Euclidean.Field (Data.Euclidean.WrappedFractional a)
- Data.Euclidean: instance (GHC.Classes.Eq a, GHC.Real.Fractional a) => Data.Euclidean.GcdDomain (Data.Euclidean.WrappedFractional a)
- Data.Euclidean: instance GHC.Real.Fractional a => Data.Semiring.Ring (Data.Euclidean.WrappedFractional a)
+ Data.Euclidean: instance GHC.Num.Num a => Data.Semiring.Ring (Data.Euclidean.WrappedFractional a)
+ Data.Euclidean: instance GHC.Real.Fractional a => Data.Euclidean.Euclidean (Data.Euclidean.WrappedFractional a)
+ Data.Euclidean: instance GHC.Real.Fractional a => Data.Euclidean.Field (Data.Euclidean.WrappedFractional a)
+ Data.Euclidean: instance GHC.Real.Fractional a => Data.Euclidean.GcdDomain (Data.Euclidean.WrappedFractional a)
Files
- CHANGELOG.md +8/−2
- Data/Euclidean.hs +4/−4
- semirings.cabal +3/−3
CHANGELOG.md view
@@ -1,5 +1,11 @@-TBA----+0.5.1: [2019.09.13]+-------------------+* Bump upper bound on containers to 0.7+* Bump upper bound on hashable to 1.4+* Remove redundant constraints from WrappedFractional instances++0.5: [2019.09.05]+----------------- * Add `Field` typeclass, instances, and functions. * Add `Euclidean` and `GcdDomain` instances for `()`, `CDouble`, `CFloat`, and `Complex`.
Data/Euclidean.hs view
@@ -258,22 +258,22 @@ one = 1 fromNatural = P.fromIntegral -instance Fractional a => Ring (WrappedFractional a) where+instance Num a => Ring (WrappedFractional a) where negate = P.negate -instance (Eq a, Fractional a) => GcdDomain (WrappedFractional a) where+instance Fractional a => GcdDomain (WrappedFractional a) where divide x y = Just (x / y) gcd = const $ const 1 lcm = const $ const 1 coprime = const $ const True -instance (Eq a, Fractional a) => Euclidean (WrappedFractional a) where+instance Fractional a => Euclidean (WrappedFractional a) where degree = const 0 quotRem x y = (x / y, 0) quot = (/) rem = const $ const 0 -instance (Eq a, Fractional a) => Field (WrappedFractional a)+instance Fractional a => Field (WrappedFractional a) instance Integral a => GcdDomain (Ratio a) where divide x y = Just (x / y)
semirings.cabal view
@@ -1,6 +1,6 @@ name: semirings category: Algebra, Data, Data Structures, Math, Maths, Mathematics-version: 0.5+version: 0.5.1 license: BSD3 cabal-version: >= 1.10 license-file: LICENSE@@ -114,10 +114,10 @@ Data.Semiring.Generic if flag(containers)- build-depends: containers >= 0.5.4 && < 0.6.1.0+ build-depends: containers >= 0.5.4 && < 0.7 if flag(hashable) && impl(ghc < 7.8)- build-depends: hashable >= 1.1 && < 1.3+ build-depends: hashable >= 1.1 && < 1.4 if flag(hashable) && impl(ghc >= 7.8) build-depends: hashable >= 1.1 && < 1.4