Safe Haskell | None |
---|---|
Language | Haskell2010 |
Symantic for Monad
.
- class Sym_Monad term where
- tyMonad :: Source src => Type src vs m -> Type src vs (Monad m)
- m0 :: Source src => LenInj vs => KindInj (K m) => Type src (Proxy m ': vs) m
- m1 :: Source src => LenInj vs => KindInj (K m) => Type src (a ': (Proxy m ': vs)) m
- m2 :: Source src => LenInj vs => KindInj (K m) => Type src (a ': (b ': (Proxy m ': vs))) m
- m3 :: Source src => LenInj vs => KindInj (K m) => Type src (a ': (b ': (c ': (Proxy m ': vs)))) m
- teMonad_return :: TermDef Monad '[Proxy a, Proxy m] (Monad m #> (a -> m a))
- teMonad_bind :: TermDef Monad '[Proxy a, Proxy b, Proxy m] (Monad m #> (m a -> (a -> m b) -> m b))
- teMonad_join :: TermDef Monad '[Proxy a, Proxy m] (Monad m #> (m (m a) -> m a))
- teMonad_kleisli_l2r :: TermDef Monad '[Proxy a, Proxy b, Proxy c, Proxy m] (Monad m #> ((a -> m b) -> (b -> m c) -> a -> m c))
- teMonad_when :: TermDef Monad '[Proxy m] (Monad m #> (Bool -> m () -> m ()))
Class Sym_Monad
class Sym_Monad term where Source #
return :: Monad m => term a -> term (m a) Source #
(>>=) :: Monad m => term (m a) -> term (a -> m b) -> term (m b) infixl 1 Source #
join :: Monad m => term (m (m a)) -> term (m a) Source #
when :: Applicative f => term Bool -> term (f ()) -> term (f ()) Source #
(>=>) :: Monad m => term (a -> m b) -> term (b -> m c) -> term (a -> m c) infixr 1 Source #
return :: Sym_Monad (UnT term) => Trans term => Monad m => term a -> term (m a) Source #
(>>=) :: Sym_Monad (UnT term) => Trans term => Monad m => term (m a) -> term (a -> m b) -> term (m b) infixl 1 Source #
join :: Sym_Monad (UnT term) => Trans term => Monad m => term (m (m a)) -> term (m a) Source #
when :: Sym_Monad (UnT term) => Trans term => Applicative f => term Bool -> term (f ()) -> term (f ()) Source #
(>=>) :: Sym_Monad (UnT term) => Trans term => Monad m => term (a -> m b) -> term (b -> m c) -> term (a -> m c) infixr 1 Source #
Type
s
m3 :: Source src => LenInj vs => KindInj (K m) => Type src (a ': (b ': (c ': (Proxy m ': vs)))) m Source #
Term
s
teMonad_bind :: TermDef Monad '[Proxy a, Proxy b, Proxy m] (Monad m #> (m a -> (a -> m b) -> m b)) Source #
teMonad_kleisli_l2r :: TermDef Monad '[Proxy a, Proxy b, Proxy c, Proxy m] (Monad m #> ((a -> m b) -> (b -> m c) -> a -> m c)) Source #
Orphan instances
ClassInstancesFor ((* -> *) -> Constraint) Monad Source # | |
TypeInstancesFor ((* -> *) -> Constraint) Monad Source # | |
NameTyOf ((* -> *) -> Constraint) Monad Source # | |
FixityOf ((* -> *) -> Constraint) Monad Source # | |
(Source src, SymInj ((* -> *) -> Constraint) ss Monad) => ModuleFor ((* -> *) -> Constraint) src ss Monad Source # | |
Gram_Term_AtomsFor ((* -> *) -> Constraint) src ss g Monad Source # | |