Safe Haskell | None |
---|
Documentation
(Monad m, Monad n, LWith list n (:> (:> t0 t1) t2 m), MonadTrans t2, MonadTrans t1, MonadTrans t0) => LWith2 list HFalse n (:> t0 (Tagged e) (t1 (t2 m))) | |
(Monad m, ~ (* -> *) n (:> t0 t n'), Monad n', LWith list n' m, MonadTrans t, MonadTrans t0) => LWith2 list HTrue n (:> t0 (Tagged e) (t m)) | |
(HMember t l b, LWith2 l b n (:> t0 (Tagged t) m), Monad m, Monad n) => LWith l n (:> t0 (Tagged t) m) | |
(Monad (t' n), Monad m, Monad n, MonadTrans t, ~ (* -> *) m (:> (:> t (Tagged tag)) t' n), MonadTrans t') => TWith tag m (:> t (Tagged tag) (t' n)) | |
(Monad m, Monad n, MonadTrans t, ~ (* -> *) m (t n)) => TWith tag m (:> t (Tagged tag) n) | |
(MonadTrans t1, MonadTrans t2, Monad m, MonadWriter w (t2 m)) => MonadWriter w (:> t1 t2 m) | |
(MonadTrans t1, MonadTrans t2, Monad m, MonadState s (t2 m)) => MonadState s (:> t1 t2 m) | |
(MonadTrans t1, MonadTrans t2, Monad m, MonadReader e (t2 m)) => MonadReader e (:> t1 t2 m) | |
(MonadTrans t1, MonadTrans t2, Monad m, MonadError e (t2 m)) => MonadError e (:> t1 t2 m) | |
(MonadTrans t1, MonadTrans t2) => MonadTrans (:> t1 t2) | |
(MonadTrans t1, MonadTrans t2, Monad m) => Monad (:> t1 t2 m) |
returnZ :: forall a t1 t2 m. (MonadTrans t1, MonadTrans t2, Monad m) => a -> (t1 :> t2) m aSource
bindZ :: forall a b t1 t2 m. (MonadTrans t1, MonadTrans t2, Monad m) => (t1 :> t2) m a -> (a -> (t1 :> t2) m b) -> (t1 :> t2) m bSource
liftZ :: forall a t1 t2 m. (MonadTrans t1, MonadTrans t2, Monad m) => m a -> (t1 :> t2) m aSource
unliftZ :: forall m n a t1 t2. (Monad m, Monad n, MonadTrans t1, MonadTrans t2) => (forall f. Functor f => (forall x. (t1 :> t2) m x -> m (f x)) -> n (f a)) -> (t1 :> t2) n aSource