packages feed

semilattices-0.0.0.9: semilattices.cabal

cabal-version:       3.0

name:                semilattices
version:             0.0.0.9
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
license:             BSD-3-Clause
license-file:        LICENSE
author:              Rob Rix
maintainer:          rob.rix@me.com
copyright:           2017-2024 Rob Rix
category:            Algebra, Data, Data Structures, Math
build-type:          Simple

extra-doc-files:
  README.md
  ChangeLog.md

tested-with:
  GHC   == 8.4.4
  GHC   == 8.6.5
  GHC   == 8.8.1
  GHCJS == 8.4.0

common common
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-all-missed-specialisations
    -Wno-implicit-prelude
    -Wno-missed-specialisations
    -Wno-missing-import-lists
    -Wno-missing-local-signatures
    -Wno-monomorphism-restriction
    -Wno-name-shadowing
    -Wno-safe
    -Wno-unsafe
  if (impl(ghc >= 8.6))
    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
      -Wno-prepositive-qualified-module
  if (impl(ghc >= 9.2))
    ghc-options:
      -Wno-missing-kind-signatures
  -- recent unordered-containers versions don't require Hashable for unionWith.
  if (impl(ghc >= 9.4))
    ghc-options: -Wno-redundant-constraints
  if (impl(ghc >= 9.8))
    ghc-options:
      -Wno-missing-role-annotations
      -Wno-term-variable-capture

library
  import: common
  exposed-modules:
    Data.Semilattice.Bound
    Data.Semilattice.Join
    Data.Semilattice.Lower
    Data.Semilattice.Meet
    Data.Semilattice.Order
    Data.Semilattice.Tumble
    Data.Semilattice.Upper
  build-depends:
    , base >=4.9 && <5
    , containers >=0.5 && <0.9
    , unordered-containers >=0.2.20 && <0.3
  hs-source-dirs:      src
  default-language:    Haskell2010

test-suite doctests
  import:              common
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Doctests.hs
  default-language:    Haskell2010
  build-depends:
    , base >= 4.9 && < 5
    , doctest >= 0.7 && < 1.0
    , QuickCheck >= 2.7 && < 3
    , quickcheck-instances == 0.3.*

source-repository head
  type:     git
  location: https://github.com/robrix/semilattices