packages feed

lattices-2: lattices.cabal

cabal-version:      1.18
name:               lattices
version:            2
category:           Math
license:            BSD3
license-file:       LICENSE
author:
  Maximilian Bolingbroke <batterseapower@hotmail.com>, Oleg Grenrus <oleg.grenrus@iki.fi>

maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
homepage:           http://github.com/phadej/lattices/
bug-reports:        http://github.com/phadej/lattices/issues
copyright:
  (C) 2010-2015 Maximilian Bolingbroke, 2016-2019 Oleg Grenrus

build-type:         Simple
extra-source-files: CHANGELOG.md
extra-doc-files:
  m2.png
  m3.png
  n5.png
  wide.png

tested-with:
  GHC ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1

synopsis:
  Fine-grained library for constructing and manipulating lattices

description:
  In mathematics, a lattice is a partially ordered set in which every two
  elements @x@ and @y@ have a unique supremum (also called a least upper bound, join, or @x /\\ y@)
  and a unique infimum (also called a greatest lower bound, meet, or @x \\/ y@).
  .
  This package provide type-classes for different lattice types, as well
  as a class for the partial order.

source-repository head
  type:     git
  location: git://github.com/phadej/lattices.git

library
  default-language: Haskell2010
  hs-source-dirs:   src
  ghc-options:      -Wall
  exposed-modules:
    Algebra.Lattice
    Algebra.Lattice.Divisibility
    Algebra.Lattice.Dropped
    Algebra.Lattice.Free
    Algebra.Lattice.Free.Final
    Algebra.Lattice.Levitated
    Algebra.Lattice.Lexicographic
    Algebra.Lattice.Lifted
    Algebra.Lattice.M2
    Algebra.Lattice.M3
    Algebra.Lattice.N5
    Algebra.Lattice.Op
    Algebra.Lattice.Ordered
    Algebra.Lattice.Unicode
    Algebra.Lattice.Wide
    Algebra.Lattice.ZeroHalfOne

  exposed-modules:
    Algebra.Heyting
    Algebra.Heyting.Free
    Algebra.Heyting.Free.Expr

  exposed-modules:
    Algebra.PartialOrd
    Algebra.PartialOrd.Instances

  build-depends:
      base                        >=4.6      && <4.13
    , base-compat                 >=0.10.5   && <0.11
    , containers                  >=0.5.0.0  && <0.7
    , deepseq                     >=1.3.0.0  && <1.5
    , hashable                    >=1.2.7.0  && <1.3
    , integer-logarithms          >=1.0.3    && <1.1
    , QuickCheck                  >=2.12.6.1 && <2.14
    , semigroupoids               >=5.3.2    && <5.4
    , tagged                      >=0.8.6    && <0.9
    , transformers                >=0.3.0.0  && <0.6
    , universe-base               >=1.1      && <1.2
    , universe-reverse-instances  >=1.1      && <1.2
    , unordered-containers        >=0.2.8.0  && <0.3

  if !impl(ghc >=8.0)
    build-depends: semigroups >=0.18.5 && <0.19

  if !impl(ghc >=7.10)
    build-depends: void >=0.7.2 && <0.8

  if impl(ghc >=7.4 && <7.5)
    build-depends: ghc-prim

test-suite test
  type:             exitcode-stdio-1.0
  main-is:          Tests.hs
  hs-source-dirs:   test
  ghc-options:      -Wall
  default-language: Haskell2010
  build-depends:
      base
    , base-compat
    , containers
    , lattices
    , QuickCheck
    , quickcheck-instances        >=0.3.19 && <0.4
    , tasty                       >=1.2.1  && <1.3
    , tasty-quickcheck            >=0.10   && <0.11
    , transformers
    , universe-base
    , universe-reverse-instances
    , unordered-containers

  if !impl(ghc >=8.0)
    build-depends: semigroups >=0.18.3 && <0.19