name: monad-io-adapter version: 0.1.0.0 category: Control synopsis: Adapters between MonadIO and MonadBase IO. description: | This package provides utilities for converting between computations parameterized via two different typeclasses 'MonadIO' and 'MonadBase', both of which can be used to abstract over monad transformer stacks with 'IO' at the base. Unfortunately, both classes are frequently used in the Haskell ecosystem, since they have minor differences. Due to these typeclasses being unrelated, it’s not entirely uncommon to end up with type signatures like @('MonadIO' m, 'MonadBaseControl' 'IO' m) => ...@, which are a little silly, since @'MonadBaseControl' 'IO'@ really includes all the power of 'MonadIO'. To help alleviate this problem, this package provides a set of utilities for converting between the two constraints in situations where possible. copyright: 2017 CJ Affiliate by Conversant license: ISC author: Alexis King maintainer: Alexis King github: cjdev/monad-io-adapter extra-source-files: - CHANGELOG.md - package.yaml - README.md - stack.yaml ghc-options: -Wall default-extensions: - FlexibleContexts - FlexibleInstances - FunctionalDependencies - GADTs - GeneralizedNewtypeDeriving - KindSignatures - LambdaCase - MultiParamTypeClasses - RankNTypes - ScopedTypeVariables - StandaloneDeriving - TupleSections - TypeApplications - TypeOperators library: dependencies: - base >= 4.9 && < 5 - exceptions >= 0.6 && < 1 - monad-control >= 1 && < 2 - monad-logger - mtl - transformers - transformers-base source-dirs: src tests: monad-io-adapter-test-suite: dependencies: - base - hspec - monad-io-adapter - transformers-base ghc-options: - -rtsopts - -threaded - -with-rtsopts=-N main: Main.hs source-dirs: test