packages feed

semilattices 0.0.0.4 → 0.0.0.5

raw patch · 6 files changed

+26/−10 lines, 6 filesdep −hashablePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: hashable

API changes (from Hackage documentation)

- Data.Semilattice.Join: instance (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) => Data.Semilattice.Join.Join (Data.HashSet.Base.HashSet a)
- Data.Semilattice.Join: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k, Data.Semilattice.Join.Join a) => Data.Semilattice.Join.Join (Data.HashMap.Base.HashMap k a)
- Data.Semilattice.Lower: instance Data.Semilattice.Lower.Lower (Data.HashMap.Base.HashMap k a)
- Data.Semilattice.Lower: instance Data.Semilattice.Lower.Lower (Data.HashSet.Base.HashSet a)
- Data.Semilattice.Meet: instance (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a) => Data.Semilattice.Meet.Meet (Data.HashSet.Base.HashSet a)
- Data.Semilattice.Meet: instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k, Data.Semilattice.Meet.Meet a) => Data.Semilattice.Meet.Meet (Data.HashMap.Base.HashMap k a)
+ Data.Semilattice.Join: instance (GHC.Classes.Eq k, Data.Semilattice.Join.Join a) => Data.Semilattice.Join.Join (Data.HashMap.Internal.HashMap k a)
+ Data.Semilattice.Join: instance GHC.Classes.Eq a => Data.Semilattice.Join.Join (Data.HashSet.Internal.HashSet a)
+ Data.Semilattice.Lower: instance Data.Semilattice.Lower.Lower (Data.HashMap.Internal.HashMap k a)
+ Data.Semilattice.Lower: instance Data.Semilattice.Lower.Lower (Data.HashSet.Internal.HashSet a)
+ Data.Semilattice.Meet: instance (GHC.Classes.Eq k, Data.Semilattice.Meet.Meet a) => Data.Semilattice.Meet.Meet (Data.HashMap.Internal.HashMap k a)
+ Data.Semilattice.Meet: instance GHC.Classes.Eq a => Data.Semilattice.Meet.Meet (Data.HashSet.Internal.HashSet a)

Files

ChangeLog.md view
@@ -1,3 +1,8 @@+# 0.0.0.5++Support more recent GHCs, remove some redundant constraints, and obviate the need for the dependency on `hashable`.++ # 0.0.0.4  Support GHC 8.8.1 and loosen the bounds on `hashable` and `base`.
semilattices.cabal view
@@ -1,5 +1,5 @@ name:                semilattices-version:             0.0.0.4+version:             0.0.0.5 synopsis:            Semilattices description:         Join- and meet-semilattices, with optional upper and lower bounds, and a variety of instances for each. homepage:            https://github.com/robrix/semilattices@@ -7,7 +7,7 @@ license-file:        LICENSE author:              Rob Rix maintainer:          rob.rix@me.com-copyright:           2017-2019 Rob Rix+copyright:           2017-2024 Rob Rix category:            Algebra, Data, Data Structures, Math build-type:          Simple cabal-version:       >=1.10@@ -35,7 +35,6 @@   build-depends:       base >=4.9 && <5     , containers >=0.5 && <0.7-    , hashable >=1.2 && <1.4     , unordered-containers >=0.2 && <0.3   hs-source-dirs:      src   default-language:    Haskell2010@@ -54,6 +53,10 @@     ghc-options: -Wno-star-is-type   if (impl(ghc >= 8.8))     ghc-options: -Wno-missing-deriving-strategies+  if (impl(ghc >= 8.10))+    ghc-options: -Wno-missing-safe-haskell-mode+  if (impl(ghc >= 9.2))+    ghc-options: -Wno-missing-kind-signatures  test-suite doctests   type:                exitcode-stdio-1.0
src/Data/Semilattice/Join.hs view
@@ -6,7 +6,6 @@ , LessThan(..) ) where -import Data.Hashable import Data.HashMap.Lazy as HashMap import Data.HashSet as HashSet import Data.IntMap as IntMap@@ -269,7 +268,7 @@ --   Identity: -- --   prop> lowerBound \/ a == (a :: HashMap Char (Set Char))-instance (Eq k, Hashable k, Join a) => Join (HashMap k a) where+instance (Eq k, Join a) => Join (HashMap k a) where   (\/) = HashMap.unionWith (\/)  -- | HashSet union forms a semilattice.@@ -289,7 +288,7 @@ --   Identity: -- --   prop> lowerBound \/ a == (a :: HashSet Char)-instance (Eq a, Hashable a) => Join (HashSet a) where+instance Eq a => Join (HashSet a) where   (\/) = HashSet.union  
src/Data/Semilattice/Lower.hs view
@@ -8,9 +8,9 @@ import Data.Coerce import Data.Functor.Const import Data.Functor.Identity-import Data.Int import Data.HashMap.Lazy as HashMap import Data.HashSet as HashSet+import Data.Int import Data.IntMap as IntMap import Data.IntSet as IntSet import Data.Map as Map@@ -25,7 +25,10 @@ import Foreign.C.Types import Foreign.Ptr import GHC.Generics++#if !defined(OS_Win32) import System.Posix.Types+#endif  -- | The greatest lower bound of @s@. --@@ -190,6 +193,7 @@ instance Lower SourceUnpackedness instance Lower Associativity +#if !defined(OS_Win32) -- System.Posix.Types instance Lower Fd instance Lower CRLim@@ -203,6 +207,7 @@ instance Lower CMode instance Lower CIno instance Lower CDev+#endif  #if MIN_VERSION_base(4,10,0) instance Lower CKey
src/Data/Semilattice/Meet.hs view
@@ -6,7 +6,6 @@ , GreaterThan(..) ) where -import Data.Hashable import Data.HashMap.Lazy as HashMap import Data.HashSet as HashSet import Data.IntMap as IntMap@@ -269,7 +268,7 @@ --   Absorption: -- --   prop> lowerBound /\ a == (lowerBound :: HashMap Char (Set Char))-instance (Eq k, Hashable k, Meet a) => Meet (HashMap k a) where+instance (Eq k, Meet a) => Meet (HashMap k a) where   (/\) = HashMap.intersectionWith (/\)  -- | HashSet intersection forms a semilattice.@@ -289,7 +288,7 @@ --   Absorption: -- --   prop> lowerBound /\ a == (lowerBound :: HashSet Char)-instance (Eq a, Hashable a) => Meet (HashSet a) where+instance Eq a => Meet (HashSet a) where   (/\) = HashSet.intersection  
src/Data/Semilattice/Upper.hs view
@@ -18,7 +18,10 @@ import Foreign.C.Types import Foreign.Ptr import GHC.Generics++#if !defined(OS_Win32) import System.Posix.Types+#endif  -- | The least upper bound of @s@. --@@ -176,6 +179,7 @@ instance Upper SourceUnpackedness instance Upper Associativity +#if !defined(OS_Win32) -- System.Posix.Types instance Upper Fd instance Upper CRLim@@ -189,6 +193,7 @@ instance Upper CMode instance Upper CIno instance Upper CDev+#endif  #if MIN_VERSION_base(4,10,0) instance Upper CKey