effect-monad-0.8.0.0: Embeds effect systems and program logics into Haskell using graded monads and parameterised monads
Control.Effect.Monad
Synopsis
data Monad m f a where Source #
All monads are parametric effect monads with a trivial singleton-monoid index. This wrapper wraps normal monads into the Effect interface using the M contructor.
M
Wrap regular monads up
Constructors
Instances
Associated Types
type Unit (Monad m) (m :: Monad m -> * -> *) :: k Source #
type Plus (Monad m) (m :: Monad m -> * -> *) (f :: Monad m) (g :: Monad m) :: k Source #
type Inv (Monad m) (m :: Monad m -> * -> *) (f :: Monad m) (g :: Monad m) :: Constraint Source #
Methods
return :: a -> m (Unit (Monad m) m) a Source #
(>>=) :: Inv (Monad m) m f g => m f a -> (a -> m g b) -> m (Plus (Monad m) m f g) b Source #
(>>) :: Inv (Monad m) m f g => m f a -> m g b -> m (Plus (Monad m) m f g) b Source #
unWrap :: Monad m => Monad m f a -> m a Source #
Unwrap a monad