packages feed

lattices 2.1 → 2.2

raw patch · 4 files changed

+48/−32 lines, 4 filesdep +foldable1-classes-compatdep −semigroupoidsdep ~OneTupledep ~basedep ~base-compat

Dependencies added: foldable1-classes-compat

Dependencies removed: semigroupoids

Dependency ranges changed: OneTuple, base, base-compat, deepseq

Files

CHANGELOG.md view
@@ -1,3 +1,8 @@+# 2.2 (2022-03-15)++- Drop `semigroupoids` dependency in favour of `foldable1-classes-compat`.+  Be careful with which `Foldable1` class you end up using.+ # 2.1 (2022-12-27)  - Fix `comprable` for `PartialOrd (a,b)` instance
lattices.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.18 name:               lattices-version:            2.1+version:            2.2 category:           Math license:            BSD3 license-file:       LICENSE@@ -34,6 +34,7 @@    || ==9.0.2    || ==9.2.5    || ==9.4.4+   || ==9.6.1  synopsis:   Fine-grained library for constructing and manipulating lattices@@ -82,25 +83,27 @@     Algebra.PartialOrd.Instances    build-depends:-      base                        >=4.6      && <4.18-    , base-compat                 >=0.10.5   && <0.13+      base                        >=4.6      && <4.19+    , base-compat                 >=0.13     && <0.14     , containers                  >=0.5.0.0  && <0.7     , deepseq                     >=1.3.0.0  && <1.5     , hashable                    >=1.2.7.0  && <1.5     , integer-logarithms          >=1.0.3    && <1.1     , QuickCheck                  >=2.12.6.1 && <2.15-    , semigroupoids               >=5.3.2    && <5.4     , tagged                      >=0.8.6    && <0.9     , transformers                >=0.3.0.0  && <0.7     , universe-base               >=1.1      && <1.2     , universe-reverse-instances  >=1.1      && <1.2     , unordered-containers        >=0.2.8.0  && <0.3 +  if !impl(ghc >=9.6)+    build-depends: foldable1-classes-compat >=0.1 && <0.2+   if !impl(ghc >=9.2)     if impl(ghc >=9.0)       build-depends: ghc-prim     else-      build-depends: OneTuple >=0.3 && <0.4+      build-depends: OneTuple >=0.4 && <0.5    if !impl(ghc >=8.0)     build-depends: semigroups >=0.18.5 && <0.21
src/Algebra/Heyting.hs view
@@ -27,12 +27,16 @@ import qualified Data.HashSet as HS import qualified Data.Set     as Set -#if MIN_VERSION_base(4,16,0)-import Data.Tuple (Solo (..))+#if MIN_VERSION_base(4,18,0)+import Data.Tuple (Solo (MkSolo))+#elif MIN_VERSION_base(4,16,0)+import Data.Tuple (Solo (Solo))+#define MkSolo Solo #elif MIN_VERSION_base(4,15,0)-import GHC.Tuple (Solo (..))+import GHC.Tuple (Solo (Solo))+#define MkSolo Solo #else-import Data.Tuple.Solo (Solo (..))+import Data.Tuple.Solo (Solo (MkSolo)) #endif  -- | A Heyting algebra is a bounded lattice equipped with a@@ -135,9 +139,9 @@  -- | @since 2.0.3 instance Heyting a => Heyting (Solo a) where-    Solo a ==> Solo b = Solo (a ==> b)-    neg (Solo a)      = Solo (neg a)-    Solo a <=> Solo b = Solo (a <=> b)+    MkSolo a ==> MkSolo b = MkSolo (a ==> b)+    neg (MkSolo a)      = MkSolo (neg a)+    MkSolo a <=> MkSolo b = MkSolo (a <=> b)  ------------------------------------------------------------------------------- -- Sets
src/Algebra/Lattice.hs view
@@ -45,18 +45,18 @@  import qualified Algebra.PartialOrd as PO -import Control.Applicative     (Const (..))-import Control.Monad.Zip       (MonadZip (..))-import Data.Data               (Data, Typeable)-import Data.Functor.Identity   (Identity (..))-import Data.Hashable           (Hashable (..))-import Data.Proxy              (Proxy (..))-import Data.Semigroup          (All (..), Any (..), Endo (..), Semigroup (..))-import Data.Semigroup.Foldable (Foldable1 (..))-import Data.Tagged             (Tagged (..))-import Data.Universe.Class     (Finite (..), Universe (..))-import Data.Void               (Void)-import GHC.Generics            (Generic)+import Control.Applicative   (Const (..))+import Control.Monad.Zip     (MonadZip (..))+import Data.Data             (Data, Typeable)+import Data.Foldable1        (Foldable1 (..))+import Data.Functor.Identity (Identity (..))+import Data.Hashable         (Hashable (..))+import Data.Proxy            (Proxy (..))+import Data.Semigroup        (All (..), Any (..), Endo (..), Semigroup (..))+import Data.Tagged           (Tagged (..))+import Data.Universe.Class   (Finite (..), Universe (..))+import Data.Void             (Void)+import GHC.Generics          (Generic)  import qualified Data.HashMap.Lazy as HM import qualified Data.HashSet      as HS@@ -66,12 +66,16 @@ import qualified Data.Set          as Set import qualified Test.QuickCheck   as QC -#if MIN_VERSION_base(4,16,0)-import Data.Tuple (Solo (..))+#if MIN_VERSION_base(4,18,0)+import Data.Tuple (Solo (MkSolo))+#elif MIN_VERSION_base(4,16,0)+import Data.Tuple (Solo (Solo))+#define MkSolo Solo #elif MIN_VERSION_base(4,15,0)-import GHC.Tuple (Solo (..))+import GHC.Tuple (Solo (Solo))+#define MkSolo Solo #else-import Data.Tuple.Solo (Solo (..))+import Data.Tuple.Solo (Solo (MkSolo)) #endif  infixr 6 /\ -- This comment needed because of CPP@@ -529,16 +533,16 @@  -- | @since 2.0.3 instance Lattice a => Lattice (Solo a) where-  Solo a \/ Solo b = Solo (a \/ b)-  Solo a /\ Solo b = Solo (a /\ b)+  MkSolo a \/ MkSolo b = MkSolo (a \/ b)+  MkSolo a /\ MkSolo b = MkSolo (a /\ b)  -- | @since 2.0.3 instance BoundedMeetSemiLattice a => BoundedMeetSemiLattice (Solo a) where-  top = Solo top+  top = MkSolo top  -- | @since 2.0.3 instance BoundedJoinSemiLattice a => BoundedJoinSemiLattice (Solo a) where-  bottom = Solo bottom+  bottom = MkSolo bottom  ------------------------------------------------------------------------------- -- Theorems