packages feed

monoidal-containers-0.6.7.0: monoidal-containers.cabal

name:               monoidal-containers
version:            0.6.7.0
synopsis:           Containers with monoidal accumulation
description:
  Containers with merging via monoidal accumulation. The 'Monoid' instances
  provided by the @containers@ and @unordered-containers@ packages merge
  structures in a left-biased manner instead of using the underlying monoidal
  structure of the value.
  .
  This package wraps the types provided by these packages, but provides @Monoid@
  instances implemented in terms of the value type's 'mappend'. For instance,
  the @Monoid@ @Map@ instance looks like,
  .
  @
  instance (Ord k, Semigroup a) => Monoid (MonoidalMap k a)
  @

homepage:           http://github.com/bgamari/monoidal-containers
license:            BSD3
license-file:       LICENSE
author:             Ben Gamari
maintainer:         ben@smart-cactus.org
copyright:          (c) 2014 Ben Gamari
category:           Data
build-type:         Simple
cabal-version:      >=1.10
extra-source-files: Changelog.md
tested-with:
  GHC ==8.2 || ==8.4 || ==8.6 || ==8.8 || ==8.10 || ==9.0 || ==9.2 || ==9.4
   || ==9.6 || ==9.10 || ==9.12

source-repository head
  type:     git
  location: https://github.com/bgamari/monoidal-containers

flag split-these
  description: Use split these/semialign packages
  manual:      False
  default:     True

library
  exposed-modules:
    Data.HashMap.Monoidal
    Data.IntMap.Monoidal
    Data.IntMap.Monoidal.Strict
    Data.Map.Monoidal
    Data.Map.Monoidal.Strict

  other-extensions:
    CPP
    DeriveDataTypeable
    DeriveTraversable
    GeneralizedNewtypeDeriving
    MultiParamTypeClasses

  build-depends:
      aeson                 >=1.0   && <2.3
    , base                  >=4.7   && <4.23
    , containers            >=0.5.9 && <0.9
    , deepseq               >=1.3   && <1.6
    , hashable              >=1.2   && <1.6
    , lens                  >=4.4   && <5.4
    , newtype               >=0.2   && <0.3
    , unordered-containers  >=0.2   && <0.3
    , witherable            >=0.4   && <0.6

  if flag(split-these)
    build-depends:
        semialign  >=1 && <1.4
      , these      >=1 && <1.3

  else
    build-depends: these >=0.7 && <0.9

  hs-source-dirs:   src
  default-language: Haskell2010