Copyright | (c) 2009 - 2015 Peter Trsko |
---|---|
License | BSD3 |
Maintainer | peter.trsko@gmail.com |
Stability | stable |
Portability | CPP, NoImplicitPrelude, PolyKinds, RankNTypes, DeriveDataTypeable, DeriveGeneric |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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.
- newtype Throws e m a = Throws {
- hideException :: m a
- liftBindLike :: (m a -> (b -> m c) -> m d) -> Throws e m a -> (b -> Throws e m c) -> Throws e m d
- liftCCLike :: (((a -> m b) -> m' c) -> m'' d) -> ((a -> Throws e m b) -> Throws e m' c) -> Throws e m'' d
- liftEmbedLike :: (forall a. m a -> Throws e n a) -> Throws e' m b -> Throws e n b
- liftHoistLike :: (forall a. m a -> n a) -> Throws e m b -> Throws e' n b
- 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
Documentation
Exception tag.
Throws | |
|
(Monoid w, MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (Throws k * e m) | Since |
MonadError e m => MonadError e (Throws k * e' m) | Since |
MonadReader r m => MonadReader r (Throws k * e m) | Since |
MonadState s m => MonadState s (Throws k * e m) | Since |
(Monoid w, MonadWriter w m) => MonadWriter w (Throws k * e m) | Since |
Typeable (k -> (k -> *) -> k -> *) (Throws k k) | |
MFunctor (Throws k * e) | Since |
MMonad (Throws k * e) | Since |
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 |
MonadCatch m => MonadCatch (Throws k * e m) | Since |
MonadMask m => MonadMask (Throws k * e m) | Since |
MonadIO m => MonadIO (Throws k * e m) | |
MonadCont m => MonadCont (Throws k * e m) | Since |
Generic (Throws k k e m a) | |
type Rep (Throws k k1 e m a) |
liftBindLike :: (m a -> (b -> m c) -> m d) -> Throws e m a -> (b -> Throws e m c) -> Throws e m d Source
liftCCLike :: (((a -> m b) -> m' c) -> m'' d) -> ((a -> Throws e m b) -> Throws e m' c) -> Throws e m'' d Source
liftEmbedLike :: (forall a. m a -> Throws e n a) -> Throws e' m b -> Throws e n b Source
liftHoistLike :: (forall a. m a -> n a) -> Throws e m b -> Throws e' n b Source