lattices 1.7 → 1.7.1
raw patch · 3 files changed
+28/−19 lines, 3 filesdep ~QuickCheckdep ~basedep ~base-compatPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: QuickCheck, base, base-compat, containers, deepseq, hashable, semigroupoids, semigroups, tagged, tasty, tasty-quickcheck, unordered-containers
API changes (from Hackage documentation)
- Algebra.Lattice: instance (GHC.Classes.Ord a, Data.Universe.Class.Finite a) => Algebra.Lattice.BoundedLattice (Data.Set.Base.Set a)
- Algebra.Lattice: instance (GHC.Classes.Ord a, Data.Universe.Class.Finite a) => Algebra.Lattice.BoundedMeetSemiLattice (Data.Set.Base.Set a)
- Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.JoinSemiLattice v) => Algebra.Lattice.BoundedJoinSemiLattice (Data.Map.Base.Map k v)
- Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.JoinSemiLattice v) => Algebra.Lattice.JoinSemiLattice (Data.Map.Base.Map k v)
- Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.Lattice v) => Algebra.Lattice.Lattice (Data.Map.Base.Map k v)
- Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.MeetSemiLattice v) => Algebra.Lattice.MeetSemiLattice (Data.Map.Base.Map k v)
- Algebra.Lattice: instance (GHC.Classes.Ord k, Data.Universe.Class.Finite k, Algebra.Lattice.BoundedLattice v) => Algebra.Lattice.BoundedLattice (Data.Map.Base.Map k v)
- Algebra.Lattice: instance (GHC.Classes.Ord k, Data.Universe.Class.Finite k, Algebra.Lattice.BoundedMeetSemiLattice v) => Algebra.Lattice.BoundedMeetSemiLattice (Data.Map.Base.Map k v)
- Algebra.Lattice: instance Algebra.Lattice.BoundedJoinSemiLattice Data.IntSet.Base.IntSet
- Algebra.Lattice: instance Algebra.Lattice.JoinSemiLattice Data.IntSet.Base.IntSet
- Algebra.Lattice: instance Algebra.Lattice.JoinSemiLattice v => Algebra.Lattice.BoundedJoinSemiLattice (Data.IntMap.Base.IntMap v)
- Algebra.Lattice: instance Algebra.Lattice.JoinSemiLattice v => Algebra.Lattice.JoinSemiLattice (Data.IntMap.Base.IntMap v)
- Algebra.Lattice: instance Algebra.Lattice.Lattice Data.IntSet.Base.IntSet
- Algebra.Lattice: instance Algebra.Lattice.Lattice v => Algebra.Lattice.Lattice (Data.IntMap.Base.IntMap v)
- Algebra.Lattice: instance Algebra.Lattice.MeetSemiLattice Data.IntSet.Base.IntSet
- Algebra.Lattice: instance Algebra.Lattice.MeetSemiLattice v => Algebra.Lattice.MeetSemiLattice (Data.IntMap.Base.IntMap v)
- Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.BoundedJoinSemiLattice (Data.Set.Base.Set a)
- Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.JoinSemiLattice (Data.Set.Base.Set a)
- Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.Lattice (Data.Set.Base.Set a)
- Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.MeetSemiLattice (Data.Set.Base.Set a)
- Algebra.PartialOrd: instance (GHC.Classes.Ord k, Algebra.PartialOrd.PartialOrd v) => Algebra.PartialOrd.PartialOrd (Data.Map.Base.Map k v)
- Algebra.PartialOrd: instance Algebra.PartialOrd.PartialOrd Data.IntSet.Base.IntSet
- Algebra.PartialOrd: instance Algebra.PartialOrd.PartialOrd v => Algebra.PartialOrd.PartialOrd (Data.IntMap.Base.IntMap v)
- Algebra.PartialOrd: instance GHC.Classes.Ord a => Algebra.PartialOrd.PartialOrd (Data.Set.Base.Set a)
+ Algebra.Lattice: instance (GHC.Classes.Ord a, Data.Universe.Class.Finite a) => Algebra.Lattice.BoundedLattice (Data.Set.Internal.Set a)
+ Algebra.Lattice: instance (GHC.Classes.Ord a, Data.Universe.Class.Finite a) => Algebra.Lattice.BoundedMeetSemiLattice (Data.Set.Internal.Set a)
+ Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.JoinSemiLattice v) => Algebra.Lattice.BoundedJoinSemiLattice (Data.Map.Internal.Map k v)
+ Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.JoinSemiLattice v) => Algebra.Lattice.JoinSemiLattice (Data.Map.Internal.Map k v)
+ Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.Lattice v) => Algebra.Lattice.Lattice (Data.Map.Internal.Map k v)
+ Algebra.Lattice: instance (GHC.Classes.Ord k, Algebra.Lattice.MeetSemiLattice v) => Algebra.Lattice.MeetSemiLattice (Data.Map.Internal.Map k v)
+ Algebra.Lattice: instance (GHC.Classes.Ord k, Data.Universe.Class.Finite k, Algebra.Lattice.BoundedLattice v) => Algebra.Lattice.BoundedLattice (Data.Map.Internal.Map k v)
+ Algebra.Lattice: instance (GHC.Classes.Ord k, Data.Universe.Class.Finite k, Algebra.Lattice.BoundedMeetSemiLattice v) => Algebra.Lattice.BoundedMeetSemiLattice (Data.Map.Internal.Map k v)
+ Algebra.Lattice: instance Algebra.Lattice.BoundedJoinSemiLattice Data.IntSet.Internal.IntSet
+ Algebra.Lattice: instance Algebra.Lattice.JoinSemiLattice Data.IntSet.Internal.IntSet
+ Algebra.Lattice: instance Algebra.Lattice.JoinSemiLattice v => Algebra.Lattice.BoundedJoinSemiLattice (Data.IntMap.Internal.IntMap v)
+ Algebra.Lattice: instance Algebra.Lattice.JoinSemiLattice v => Algebra.Lattice.JoinSemiLattice (Data.IntMap.Internal.IntMap v)
+ Algebra.Lattice: instance Algebra.Lattice.Lattice Data.IntSet.Internal.IntSet
+ Algebra.Lattice: instance Algebra.Lattice.Lattice v => Algebra.Lattice.Lattice (Data.IntMap.Internal.IntMap v)
+ Algebra.Lattice: instance Algebra.Lattice.MeetSemiLattice Data.IntSet.Internal.IntSet
+ Algebra.Lattice: instance Algebra.Lattice.MeetSemiLattice v => Algebra.Lattice.MeetSemiLattice (Data.IntMap.Internal.IntMap v)
+ Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.BoundedJoinSemiLattice (Data.Set.Internal.Set a)
+ Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.JoinSemiLattice (Data.Set.Internal.Set a)
+ Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.Lattice (Data.Set.Internal.Set a)
+ Algebra.Lattice: instance GHC.Classes.Ord a => Algebra.Lattice.MeetSemiLattice (Data.Set.Internal.Set a)
+ Algebra.PartialOrd: instance (GHC.Classes.Ord k, Algebra.PartialOrd.PartialOrd v) => Algebra.PartialOrd.PartialOrd (Data.Map.Internal.Map k v)
+ Algebra.PartialOrd: instance Algebra.PartialOrd.PartialOrd Data.IntSet.Internal.IntSet
+ Algebra.PartialOrd: instance Algebra.PartialOrd.PartialOrd v => Algebra.PartialOrd.PartialOrd (Data.IntMap.Internal.IntMap v)
+ Algebra.PartialOrd: instance GHC.Classes.Ord a => Algebra.PartialOrd.PartialOrd (Data.Set.Internal.Set a)
- Algebra.Lattice: class JoinSemiLattice a where (\/) = join join = (\/)
+ Algebra.Lattice: class JoinSemiLattice a
- Algebra.Lattice: class MeetSemiLattice a where (/\) = meet meet = (/\)
+ Algebra.Lattice: class MeetSemiLattice a
- Algebra.PartialOrd: class Eq a => PartialOrd a where comparable x y = leq x y || leq y x
+ Algebra.PartialOrd: class Eq a => PartialOrd a
Files
- CHANGELOG.md +5/−0
- lattices.cabal +12/−12
- src/Algebra/Lattice.hs +11/−7
CHANGELOG.md view
@@ -1,3 +1,8 @@+# 1.7.1 (2018-01-29)++- Correct *Safe Haskell* annotations. See https://github.com/ekmett/semigroupoids/issues/69+- Bump lower bounds+ # 1.7 (2017-10-01) - `HashMap` instances changed
lattices.cabal view
@@ -1,5 +1,5 @@ name: lattices-version: 1.7+version: 1.7.1 cabal-version: >= 1.10 category: Math license: BSD3@@ -39,22 +39,22 @@ Algebra.PartialOrd, Algebra.PartialOrd.Instances - build-depends: base >= 4.5 && < 4.11,- base-compat >= 0.9.3 && < 0.10,- containers >= 0.3 && < 0.6,- deepseq >= 1.1 && < 1.5,- hashable >= 1.2 && < 1.3,- tagged >= 0.7 && < 0.9,- unordered-containers >= 0.2 && < 0.3,- semigroupoids >= 5.2 && < 5.3,- universe-base >= 1.0 && < 1.1,- universe-reverse-instances >= 1.0 && < 1.1+ build-depends: base >= 4.5 && < 4.11,+ base-compat >= 0.9.3 && < 0.10,+ containers >= 0.4.2.1 && < 0.6,+ deepseq >= 1.3.0.0 && < 1.5,+ hashable >= 1.2.6.1 && < 1.3,+ tagged >= 0.8.5 && < 0.9,+ unordered-containers >= 0.2.6.0 && < 0.3,+ semigroupoids >= 5.2.2 && < 5.3,+ universe-base >= 1.0 && < 1.1,+ universe-reverse-instances >= 1.0 && < 1.1 hs-source-dirs: src ghc-options: -Wall default-language: Haskell2010 if !impl(ghc >= 8.0)- build-depends: semigroups >= 0.16 && < 0.19+ build-depends: semigroups >= 0.18.3 && < 0.19 if !impl(ghc >= 7.10) build-depends: void >= 0.7 && < 0.8,
src/Algebra/Lattice.hs view
@@ -1,15 +1,19 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-}-#if __GLASGOW_HASKELL__ >=710 && MIN_VERSION_unordered_containers(0,2,6)-{-# LANGUAGE Safe #-}-#else-{-# LANGUAGE Trustworthy #-}-#endif {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} #if __GLASGOW_HASKELL__ >= 707 && __GLASGOW_HASKELL__ < 709 {-# OPTIONS_GHC -fno-warn-amp #-} #endif++#define unordered_containers_SAFE MIN_VERSION_unordered_containers(0,2,6)+#define semigroupoids_SAFE (!MIN_VERSION_semigroupoids(5,2,2) || __GLASGOW_HASKELL__ >= 802)++#if __GLASGOW_HASKELL__ >= 710 && unordered_containers_SAFE && semigroupoids_SAFE+{-# LANGUAGE Safe #-}+#else+{-# LANGUAGE Trustworthy #-}+#endif ---------------------------------------------------------------------------- -- | -- Module : Algebra.Lattice@@ -126,7 +130,7 @@ -- > Absorption: a \/ (a /\ b) == a /\ (a \/ b) == a class (JoinSemiLattice a, MeetSemiLattice a) => Lattice a where --- | A join-semilattice with some element |bottom| that \/ approaches.+-- | A join-semilattice with an identity element 'bottom' for '\/'. -- -- > Identity: x \/ bottom == x class JoinSemiLattice a => BoundedJoinSemiLattice a where@@ -140,7 +144,7 @@ joins1 :: (JoinSemiLattice a, Foldable1 f) => f a -> a joins1 = getJoin . foldMap1 Join --- | A meet-semilattice with some element |top| that /\ approaches.+-- | A meet-semilattice with an identity element 'top' for '/\'. -- -- > Identity: x /\ top == x class MeetSemiLattice a => BoundedMeetSemiLattice a where