in-other-words-0.2.0.0: A higher-order effect system where the sky's the limit
Safe HaskellNone
LanguageHaskell2010

Control.Effect.Internal.ErrorIO

Synopsis

Documentation

newtype ErrorIOToIOC m a Source #

Instances

Instances details
MonadTrans ErrorIOToIOC Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

lift :: Monad m => m a -> ErrorIOToIOC m a #

MonadTransControl ErrorIOToIOC Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Associated Types

type StT ErrorIOToIOC a #

Methods

liftWith :: Monad m => (Run ErrorIOToIOC -> m a) -> ErrorIOToIOC m a #

restoreT :: Monad m => m (StT ErrorIOToIOC a) -> ErrorIOToIOC m a #

MonadBase b m => MonadBase b (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

liftBase :: b α -> ErrorIOToIOC m α #

MonadBaseControl b m => MonadBaseControl b (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Associated Types

type StM (ErrorIOToIOC m) a #

Methods

liftBaseWith :: (RunInBase (ErrorIOToIOC m) b -> b a) -> ErrorIOToIOC m a #

restoreM :: StM (ErrorIOToIOC m) a -> ErrorIOToIOC m a #

Monad m => Monad (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

(>>=) :: ErrorIOToIOC m a -> (a -> ErrorIOToIOC m b) -> ErrorIOToIOC m b #

(>>) :: ErrorIOToIOC m a -> ErrorIOToIOC m b -> ErrorIOToIOC m b #

return :: a -> ErrorIOToIOC m a #

Functor m => Functor (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

fmap :: (a -> b) -> ErrorIOToIOC m a -> ErrorIOToIOC m b #

(<$) :: a -> ErrorIOToIOC m b -> ErrorIOToIOC m a #

MonadFix m => MonadFix (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

mfix :: (a -> ErrorIOToIOC m a) -> ErrorIOToIOC m a #

MonadFail m => MonadFail (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

fail :: String -> ErrorIOToIOC m a #

Applicative m => Applicative (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

pure :: a -> ErrorIOToIOC m a #

(<*>) :: ErrorIOToIOC m (a -> b) -> ErrorIOToIOC m a -> ErrorIOToIOC m b #

liftA2 :: (a -> b -> c) -> ErrorIOToIOC m a -> ErrorIOToIOC m b -> ErrorIOToIOC m c #

(*>) :: ErrorIOToIOC m a -> ErrorIOToIOC m b -> ErrorIOToIOC m b #

(<*) :: ErrorIOToIOC m a -> ErrorIOToIOC m b -> ErrorIOToIOC m a #

MonadIO m => MonadIO (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

liftIO :: IO a -> ErrorIOToIOC m a #

Alternative m => Alternative (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

empty :: ErrorIOToIOC m a #

(<|>) :: ErrorIOToIOC m a -> ErrorIOToIOC m a -> ErrorIOToIOC m a #

some :: ErrorIOToIOC m a -> ErrorIOToIOC m [a] #

many :: ErrorIOToIOC m a -> ErrorIOToIOC m [a] #

MonadPlus m => MonadPlus (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

mzero :: ErrorIOToIOC m a #

mplus :: ErrorIOToIOC m a -> ErrorIOToIOC m a -> ErrorIOToIOC m a #

MonadThrow m => MonadThrow (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

throwM :: Exception e => e -> ErrorIOToIOC m a #

MonadCatch m => MonadCatch (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

catch :: Exception e => ErrorIOToIOC m a -> (e -> ErrorIOToIOC m a) -> ErrorIOToIOC m a #

MonadMask m => MonadMask (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Methods

mask :: ((forall a. ErrorIOToIOC m a -> ErrorIOToIOC m a) -> ErrorIOToIOC m b) -> ErrorIOToIOC m b #

uninterruptibleMask :: ((forall a. ErrorIOToIOC m a -> ErrorIOToIOC m a) -> ErrorIOToIOC m b) -> ErrorIOToIOC m b #

generalBracket :: ErrorIOToIOC m a -> (a -> ExitCase b -> ErrorIOToIOC m c) -> (a -> ErrorIOToIOC m b) -> ErrorIOToIOC m (b, c) #

(Carrier m, MonadCatch m) => Carrier (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

Associated Types

type Derivs (ErrorIOToIOC m) :: [Effect] Source #

type Prims (ErrorIOToIOC m) :: [Effect] Source #

type StT ErrorIOToIOC a Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

type Derivs (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

type Prims (ErrorIOToIOC m) Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

type StM (ErrorIOToIOC m) a Source # 
Instance details

Defined in Control.Effect.Internal.ErrorIO

errorIOToIO :: (Carrier m, MonadCatch m) => ErrorIOToIOC m a -> m a Source #

Run an ErrorIO effect by making use of IO exceptions.

Derivs (ErrorIOToIOC e m) = ErrorIO ': Derivs m
Prims (ErrorIOToIOC e m) = Optional ((->) SomeException) ': Prims m