Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Control.Monad.Open.Class
Documentation
class Monad m => MonadOpen a b m | m -> a b where Source
To know
is to have a function MonadOpen
a b ma → m b
which serves
as a recursive call to the ambient open operation. The
judgement presupposes MonadOpen
a b m
.Monad
m
Instances
MonadOpen a b m => MonadOpen a b (MaybeT m) | |
MonadOpen a b m => MonadOpen a b (ListT m) | |
MonadOpen a b m => MonadOpen a b (IdentityT m) | |
MonadOpen a b m => MonadOpen a b (ContT r m) | |
MonadOpen a b m => MonadOpen a b (ExceptT e m) | |
MonadOpen a b m => MonadOpen a b (StateT s m) | |
MonadOpen a b m => MonadOpen a b (StateT s m) | |
(Monoid w, MonadOpen a b m) => MonadOpen a b (WriterT w m) | |
(Monoid w, MonadOpen a b m) => MonadOpen a b (WriterT w m) | |
MonadOpen a b m => MonadOpen a b (ReaderT r m) | |
Monad m => MonadOpen a b (OpenT a b m) | |
(Monoid w, MonadOpen a b m) => MonadOpen a b (RWST r w s m) | |
(Monoid w, MonadOpen a b m) => MonadOpen a b (RWST r w s m) |
The type of open operations from a
to b
in modality m
; when
is evident, then such operations may be composed
horizontally via a Alternative
mMonoid
instance.
Instances
Alternative m => Monoid (Op a m b) |