homepage: https://github.com/cjdev/monad-io-adapter#readme
changelog-type: markdown
hash: 54b74abb735faf7ab2001befe47ab25ca9cec0e74c856cb44fea44ef326ad517
test-bench-deps:
  base: -any
  hspec: -any
  monad-io-adapter: -any
  transformers-base: -any
maintainer: Alexis King <lexi.lambda@gmail.com>
synopsis: Adapters between MonadIO and MonadBase IO.
changelog: ! '# 0.1.0.0 (November 21st, 2017)


  - Initial release.

'
basic-deps:
  exceptions: ! '>=0.6 && <1'
  base: ! '>=4.9 && <5'
  monad-control: ! '>=1 && <2'
  mtl: -any
  transformers-base: -any
  monad-logger: -any
  transformers: -any
all-versions:
- '0.1.0.0'
author: Alexis King <lexi.lambda@gmail.com>
latest: '0.1.0.0'
description-type: markdown
description: ! "# monad-io-adapter [![Build Status](https://travis-ci.org/cjdev/monad-io-adapter.svg?branch=master)](https://travis-ci.org/cjdev/monad-io-adapter)\n\nThis
  Haskell package provides utilities for converting between computations parameterized
  via two different typeclasses, 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:\n\n  - `MonadIO`
  comes from the `base` package (as of `base` version 4.9.0.0), and it provides a
  `liftIO` operation. It is an extremely simple typeclass, focusing exclusively on
  lifting `IO` actions through transformer stacks with `IO` at the base.\n\n  - `MonadBase`
  comes from the `transformers-base` package, and it is a generalized version of `MonadIO`.
  It provides a more general `liftBase` function, which allows lifting to an arbitrary
  base monad.\n\n    Generally, this additional power isn’t especially useful, but
  `MonadBase` appears most often through `MonadBaseControl`, a subclass from the `monad-control`
  package that enables lifting operations that accept an action in negative position.
  This class has no `IO`-specialized equivalent (not directly, at least), so it often
  appears in lifted “control” operations.\n\nDue 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`.\n\nFor more information, [see the documentation on Hackage][monad-io-adapter].\n\n[monad-io-adapter]:
  https://hackage.haskell.org/package/monad-io-adapter\n"
license-name: ISC

Update from Hackage at 2017-11-21T17:20:46Z
Update from Hackage at 2017-11-21T17:20:46Z
