base-4.9.1.0: Basic libraries

Copyright | (c) Andy Gill 2001 (c) Oregon Graduate Institute of Science and Technology 2001
License | BSD-style (see the file LICENSE)
Maintainer | R.Paterson@city.ac.uk
Stability | experimental
Portability | portable
Safe Haskell | Safe
Language | Haskell2010

Control.Monad.IO.Class

Description

Class of monads based on `IO`.

Synopsis

- class Monad m => MonadIO m where

# Documentation

class Monad m => MonadIO m where Source #

Monads in which `IO` computations may be embedded. Any monad built by applying a sequence of monad transformers to the `IO` monad will be an instance of this class.

Instances should satisfy the following laws, which state that `liftIO` is a transformer of monads:

-     liftIO . return = return

-     liftIO (m >>= f) = liftIO m >>= (liftIO . f)

Minimal complete definition

liftIO

Methods

liftIO :: IO a -> m a Source #

Lift a computation from the `IO` monad.

Instances

MonadIO IO # |
Methods liftIO :: IO a -> IO a Source #