Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type family MonadTranses (ts :: [(* -> *) -> * -> *]) :: Constraint where ...
- type MonadTransInvariants t m = (Monad m, Monad (t m), MonadTrans t)
- type PrimMonadTransInvariants t m = (MonadTransInvariants t m, PrimState m ~ PrimState (t m))
- lift2 :: (Monad (t1 m), Monad m, MonadTranses '[t1, t2]) => m a -> t2 (t1 m) a
- _lift2_ :: (Monad (t1 m), Monad m, MonadTranses '[t1, t2]) => m a -> t2 (t1 m) a
- lift3 :: (Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3]) => m a -> t3 (t2 (t1 m)) a
- _lift3_ :: (Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3]) => m a -> t3 (t2 (t1 m)) a
- lift4 :: (Monad (t3 (t2 (t1 m))), Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3, t4]) => m a -> t4 (t3 (t2 (t1 m))) a
- _lift4_ :: (Monad (t3 (t2 (t1 m))), Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3, t4]) => m a -> t4 (t3 (t2 (t1 m))) a
- lift5 :: (Monad (t4 (t3 (t2 (t1 m)))), Monad (t3 (t2 (t1 m))), Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3, t4, t5]) => m a -> t5 (t4 (t3 (t2 (t1 m)))) a
- _lift5_ :: (Monad (t4 (t3 (t2 (t1 m)))), Monad (t3 (t2 (t1 m))), Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3, t4, t5]) => m a -> t5 (t4 (t3 (t2 (t1 m)))) a
Documentation
type family MonadTranses (ts :: [(* -> *) -> * -> *]) :: Constraint where ... Source #
MonadTranses '[] = () | |
MonadTranses (t ': ts) = (MonadTrans t, MonadTranses ts) |
type MonadTransInvariants t m = (Monad m, Monad (t m), MonadTrans t) Source #
type PrimMonadTransInvariants t m = (MonadTransInvariants t m, PrimState m ~ PrimState (t m)) Source #
lift3 :: (Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3]) => m a -> t3 (t2 (t1 m)) a Source #
_lift3_ :: (Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3]) => m a -> t3 (t2 (t1 m)) a Source #
lift4 :: (Monad (t3 (t2 (t1 m))), Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3, t4]) => m a -> t4 (t3 (t2 (t1 m))) a Source #
_lift4_ :: (Monad (t3 (t2 (t1 m))), Monad (t2 (t1 m)), Monad (t1 m), Monad m, MonadTranses '[t1, t2, t3, t4]) => m a -> t4 (t3 (t2 (t1 m))) a Source #