effect-monad-0.8.1.0: Embeds effect systems and program logics into Haskell using graded monads and parameterised monads
Control.Effect.ParameterisedAsGraded
Synopsis
newtype T (i :: Morph * *) a Source #
Implements Bob Atkey's 'parametric monads', and also the Control.Monad.Indexed package, by emulating indexing by morphisms
Data type of morphisms
Constructors
Instances
Associated Types
type Unit T (m :: T -> * -> *) :: k Source #
type Plus T (m :: T -> * -> *) (f :: T) (g :: T) :: k Source #
type Inv T (m :: T -> * -> *) (f :: T) (g :: T) :: Constraint Source #
Methods
return :: a -> m (Unit T m) a Source #
(>>=) :: Inv T m f g => m f a -> (a -> m g b) -> m (Plus T m f g) b Source #
(>>) :: Inv T m f g => m f a -> m g b -> m (Plus T m f g) b Source #
data Morph a b Source #
Data type denoting either a morphisms with source and target types, or identity