packages feed

changeset-containers-0.1.0.1: changeset-containers.cabal

cabal-version: 2.4
name: changeset-containers
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
version: 0.1.0.1
synopsis: Stateful monad transformer based on monoidal actions
description:
  A general state monad transformer with separate types for the state and the possible changes.
  It can be defined for any monoid action.
  The monoid represents "changes", "updates", "edits" or "diffs" on the state.
  This package exposes typical changes for @containers@ such as maps, sequences, and sets.
  To change individual elements of a container, have a look at the indexed changes in [@changeset-lens@](hackage.haskell.org/package/changeset-lens).

license: MIT
license-file: LICENSE
author: Manuel Bärenz
maintainer: programming@manuelbaerenz.de
copyright: MIT
category: Control
build-type: Simple
extra-doc-files: CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/turion/changeset

flag dev
  description: Enable warnings as errors. Active on ci.
  default: False
  manual: True

common opts
  ghc-options:
    -Wall

  if flag(dev)
    ghc-options:
      -Werror
  default-extensions:
    BangPatterns
    DeriveFunctor
    FlexibleInstances
    FunctionalDependencies
    GADTs
    KindSignatures
    MultiParamTypeClasses
    NamedFieldPuns
    RankNTypes
    ScopedTypeVariables
    TupleSections
    TypeOperators

library
  import: opts
  exposed-modules:
    Data.Monoid.RightAction.IntMap
    Data.Monoid.RightAction.IntSet
    Data.Monoid.RightAction.Map
    Data.Monoid.RightAction.Sequence
    Data.Monoid.RightAction.Set

  build-depends:
    base >=4.12 && <4.22,
    changeset ==0.1.0.1,
    containers >=0.6 && <0.8,
    monoid-extras ^>=0.6,

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

test-suite changeset-containers-test
  import: opts
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  build-depends:
    base,
    changeset,
    changeset-containers,
    containers,
    monoid-extras,
    tasty ^>=1.4.2,
    tasty-hunit ^>=0.10.2,

  other-modules:
    IntMap
    IntSet
    Map
    Sequence
    Set