kernmantle-0.1.0.0: Composing Applicatives, Monads, Comonads and Arrows into Arrows
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Kernmantle.Error

Description

Deal with throw and try effects

Synopsis

Documentation

class ThrowEffect ex eff where Source #

A class for binary effects that can possibly throw exceptions

Methods

throwE :: eff (Either ex b) b Source #

Instances

Instances details
(MonadThrow m, Exception ex) => ThrowEffect ex (Kleisli m) Source # 
Instance details

Defined in Control.Kernmantle.Error

Methods

throwE :: Kleisli m (Either ex b) b Source #

ThrowEffect ex core => ThrowEffect ex (Rope record mantle core) Source # 
Instance details

Defined in Control.Kernmantle.Rope

Methods

throwE :: Rope record mantle core (Either ex b) b Source #

ThrowEffect ex core => ThrowEffect ex (RopeRunner record mantle interp core) Source # 
Instance details

Defined in Control.Kernmantle.Rope.Internal

Methods

throwE :: RopeRunner record mantle interp core (Either ex b) b Source #

(Applicative f, ThrowEffect ex eff) => ThrowEffect ex (Cayley f eff) Source # 
Instance details

Defined in Control.Kernmantle.Error

Methods

throwE :: Cayley f eff (Either ex b) b Source #

class TryEffect ex eff where Source #

A class for binary effects that can catch exceptions

Methods

tryE :: eff a b -> eff a (Either ex b) Source #

Instances

Instances details
(MonadCatch m, Exception ex) => TryEffect ex (Kleisli m) Source # 
Instance details

Defined in Control.Kernmantle.Error

Methods

tryE :: Kleisli m a b -> Kleisli m a (Either ex b) Source #

TryEffect ex core => TryEffect ex (Rope record mantle core) Source # 
Instance details

Defined in Control.Kernmantle.Rope

Methods

tryE :: Rope record mantle core a b -> Rope record mantle core a (Either ex b) Source #

TryEffect ex core => TryEffect ex (RopeRunner record mantle interp core) Source # 
Instance details

Defined in Control.Kernmantle.Rope.Internal

Methods

tryE :: RopeRunner record mantle interp core a b -> RopeRunner record mantle interp core a (Either ex b) Source #

(Functor f, TryEffect ex eff) => TryEffect ex (Cayley f eff) Source # 
Instance details

Defined in Control.Kernmantle.Error

Methods

tryE :: Cayley f eff a b -> Cayley f eff a (Either ex b) Source #