transformers-eff-0.2.1.0: An approach to managing composable effects, ala mtl/transformers/extensible-effects/Eff

Safe HaskellNone
LanguageHaskell2010

Control.Effect.IO

Synopsis

Documentation

data UIO a Source #

Instances

Monad UIO Source # 

Methods

(>>=) :: UIO a -> (a -> UIO b) -> UIO b #

(>>) :: UIO a -> UIO b -> UIO b #

return :: a -> UIO a #

fail :: String -> UIO a #

Functor UIO Source # 

Methods

fmap :: (a -> b) -> UIO a -> UIO b #

(<$) :: a -> UIO b -> UIO a #

Applicative UIO Source # 

Methods

pure :: a -> UIO a #

(<*>) :: UIO (a -> b) -> UIO a -> UIO b #

liftA2 :: (a -> b -> c) -> UIO a -> UIO b -> UIO c #

(*>) :: UIO a -> UIO b -> UIO b #

(<*) :: UIO a -> UIO b -> UIO a #

EffUIO UIO Source # 

Methods

liftUIO :: UIO a -> UIO a Source #

runUIO :: UIO a -> IO a Source #

syncIO :: (Interprets (Either SomeException) m, EffUIO m) => IO a -> m a Source #

Lift an IO action and explictly throw an synchronous IO exceptions that occur.

class Monad m => EffUIO m where Source #

Minimal complete definition

liftUIO

Methods

liftUIO :: UIO a -> m a Source #

Instances

EffUIO IO Source # 

Methods

liftUIO :: UIO a -> IO a Source #

EffUIO UIO Source # 

Methods

liftUIO :: UIO a -> UIO a Source #

EffUIO m => EffUIO (Eff r m) Source # 

Methods

liftUIO :: UIO a -> Eff r m a Source #