Name: multistate Version: 0.3.0.0 Cabal-Version: >= 1.10 Build-Type: Simple license: BSD3 license-file: LICENSE Copyright: Jan Bracker, 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 tested-with: GHC == 7.6.3, GHC == 7.8.3, GHC == 7.8.4, GHC == 7.10.0 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 heterogenous lists (and all kinds of GHC extensions magic), this package provides transformers that remove that necessity: MultiReaderT/MultiWriterT/MultiStateT can contain a heterogenous list of values. . See the for a longer description. source-repository head type: git location: git@github.com:lspitzner/multistate.git flag build-test description: Build the MultiState-test test program default: False flag build-example description: Build the MultiState-example example program default: False library { default-language: Haskell2010 exposed-modules: Data.HList.HList Control.Monad.MultiState Control.Monad.MultiReader Control.Monad.MultiWriter other-modules: build-depends: base >= 4.6 && <4.9, mtl >= 2.1 && <2.3, transformers >= 0.3 && <0.5 default-extensions: GADTs TypeFamilies MultiParamTypeClasses FunctionalDependencies FlexibleInstances OverlappingInstances UndecidableInstances TypeOperators DataKinds ghc-options: -Wall hs-source-dirs: src } executable multistate-test { default-language: Haskell2010 if flag(build-test) { buildable: True build-depends: -- no version constraints necessary, because they are already -- given by library multistate, base, transformers } else { buildable: False } 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, mtl, transformers } else { buildable: False } main-is: Example.hs hs-source-dirs: example }