Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
Specifies "parametric effect monads" which are essentially monads but
annotated by a type-level monoid formed by Plus
and Unit
Effect of a trivially effectful computation |
Cominbing effects of two subcomputations |
type Inv m f g :: Constraint Source
return :: a -> m (Unit m) a Source
Effect-parameterised version of return
. Annotated with the 'Unit m' effect,
denoting pure compuation
(>>=) :: Inv m f g => m f a -> (a -> m g b) -> m (Plus m f g) b Source
Effect-parameterise version of >>=
(bind). Combines
two effect annotations f
and g
on its parameter computations into Plus
(>>) :: Inv m f g => m f a -> m g b -> m (Plus m f g) b Source