Name: multistate Version: 0.8.0.3 Cabal-Version: >= 1.10 Build-Type: Simple license: BSD3 license-file: LICENSE Copyright: Copyright (C) 2013 Jan Bracker, 2013-2020 Lennart Spitzner Maintainer: Lennart Spitzner Author: Jan Bracker, Lennart Spitzner Homepage: https://github.com/lspitzner/multistate Bug-reports: https://github.com/lspitzner/multistate/issues Stability: Experimental category: Control Synopsis: like mtl's ReaderT / WriterT / StateT, but more than one contained value/type. Description: When using multiple Read\/Write\/State transformers in the same monad stack, it becomes necessary to lift the operations in order to affect a specific transformer. Using heterogeneous lists (and all kinds of GHC extensions magic), this package provides transformers that remove that necessity: MultiReaderT\/MultiWriterT\/MultiStateT\/MultiRWST can contain a heterogeneous list of values. . See the for a longer description. extra-source-files: README.md changelog.md source-repository head { type: git location: git@github.com:lspitzner/multistate.git } flag build-example description: Build the MultiState-example example program default: False manual: True library { default-language: Haskell2010 exposed-modules: Data.HList.HList Data.HList.ContainsType Control.Monad.Trans.MultiGet.Class Control.Monad.Trans.MultiReader Control.Monad.Trans.MultiReader.Class Control.Monad.Trans.MultiReader.Lazy Control.Monad.Trans.MultiReader.Strict Control.Monad.Trans.MultiWriter Control.Monad.Trans.MultiWriter.Class Control.Monad.Trans.MultiWriter.Lazy Control.Monad.Trans.MultiWriter.Strict Control.Monad.Trans.MultiState Control.Monad.Trans.MultiState.Class Control.Monad.Trans.MultiState.Lazy Control.Monad.Trans.MultiState.Strict Control.Monad.Trans.MultiRWS Control.Monad.Trans.MultiRWS.Lazy Control.Monad.Trans.MultiRWS.Strict Control.Monad.Trans.MultiGST Control.Monad.Trans.MultiGST.Lazy Control.Monad.Trans.MultiGST.Strict other-modules: Control.Monad.Trans.MultiGST.Common build-depends: base >= 4.11 && <4.15, mtl >= 2.1 && <2.3, transformers >= 0.3 && <0.6, tagged >= 0.7 && <0.9, transformers-base <0.5, monad-control >= 1.0 && <1.1 default-extensions: GADTs TypeFamilies MultiParamTypeClasses FunctionalDependencies FlexibleInstances UndecidableInstances TypeOperators DataKinds LambdaCase ghc-options: { -Wall -Wcompat -fno-warn-unused-imports -fno-warn-redundant-constraints } hs-source-dirs: src } test-suite multistate-test { type: exitcode-stdio-1.0 default-language: Haskell2010 buildable: True build-depends: -- no version constraints necessary, because they are already -- given by library multistate, base <999, transformers <0.6, hspec >=2 && <2.8 ghc-options: -Wall main-is: Test.hs hs-source-dirs: test } executable multistate-example { default-language: Haskell2010 if flag(build-example) { buildable: True build-depends: -- no version constraints necessary, because they are already -- given by library multistate, base <999, mtl <2.3, transformers <0.6 } else { buildable: False } main-is: Example.hs hs-source-dirs: example }