tagged-exception-core-2.0.0.0: Reflect exceptions using phantom types.

Copyright(c) 2009 - 2014 Peter Trsko
LicenseBSD3
Maintainerpeter.trsko@gmail.com
Stabilitystable
Portabilitynon-portable (CPP, NoImplicitPrelude, PolyKinds, RankNTypes DeriveDataTypeable, DeriveGeneric)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.TaggedException.Internal.Throws

Description

Data type for associating monadic value with phantom type. In case of this library it will always be associated with a type of exception it may throw.

Synopsis

Documentation

newtype Throws e m a Source

Exception tag.

Constructors

Throws 

Fields

hideException :: m a

Hide one exception.

Instances

Typeable (k -> (k -> *) -> k -> *) (Throws k k) 
MFunctor (Throws k * e)

Since 1.2.0.0.

MMonad (Throws k * e)

Since 1.2.0.0.

MonadTrans (Throws k * e) 
Alternative f => Alternative (Throws k * e f) 
Monad m => Monad (Throws k * e m) 
Functor f => Functor (Throws k * e f) 
MonadPlus m => MonadPlus (Throws k * e m) 
Applicative f => Applicative (Throws k * e f) 
MonadThrow m => MonadThrow (Throws k * e m)

Since 2.0.0.0.

MonadCatch m => MonadCatch (Throws k * e m)

Since 2.0.0.0.

MonadMask m => MonadMask (Throws k * e m)

Since 2.0.0.0.

MonadIO m => MonadIO (Throws k * e m) 
Generic (Throws k k e m a) 
type Rep (Throws k k1 e m a) 

liftMask :: (((forall a. m a -> m a) -> m b) -> m b) -> ((forall a. Throws e m a -> Throws e m a) -> Throws e m b) -> Throws e m b Source

Lift mask operation in to Throws context.