cabal-version: 2.4
name: changeset-lens
version: 0.2
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 utilities to transport changes along optics,
such as lenses or indexed structures.
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
DeriveGeneric
DeriveTraversable
DerivingStrategies
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
KindSignatures
MultiParamTypeClasses
NamedFieldPuns
RankNTypes
ScopedTypeVariables
StandaloneDeriving
StrictData
TupleSections
TypeOperators
library
import: opts
exposed-modules:
Control.Monad.Changeset.Lens
Control.Monad.Changeset.Lens.At
Control.Monad.Changeset.Lens.Ixed
Control.Monad.Changeset.Lens.Setter
build-depends:
base >=4.16 && <4.23,
changeset ==0.2,
containers >=0.6 && <0.8,
indexed-traversable ^>=0.1.1,
lens >=4.19.2 && <5.4,
monoid-extras ^>=0.7,
monoidal-containers ^>=0.6.2,
transformers >=0.5.6.2 && <0.7,
witherable >=0.4 && <0.6,
hs-source-dirs: src
default-language: Haskell2010
test-suite changeset-lens-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,
changeset-lens,
containers,
lens,
monoid-extras,
tasty >=1.4.2 && <1.6,
tasty-hunit ^>=0.10.2,
other-modules:
At
Ixed
Setter