summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
098f086)
gitlab #280
Change-Id: If7a721ef2508b84490304a8353b31e8de9f25d27
::class[FunctorM]
::value[repeatForever]
::class[MonadZero]
::value[guard]
::class[MonadPlus, MonadOr]
::value[ignoreM]
::class[FunctorM]
::value[repeatForever]
::class[MonadZero]
::value[guard]
::class[MonadPlus, MonadOr]
::value[ignoreM]
+::class[MonadE]
+::value[compE]
+::class[MonadZeroE]
/// MonadE ///
class (FunctorE m, Monad m) => MonadE m where
/// MonadE ///
class (FunctorE m, Monad m) => MonadE m where
+ "An effectful version of the bind operator `(>>=)`"
bindE :: m a -> (a -> <e> m b) -> <e> m b
instance MonadE Maybe where
bindE :: m a -> (a -> <e> m b) -> <e> m b
instance MonadE Maybe where
instance MonadE [] where
bindE l f = concatMap f l
instance MonadE [] where
bindE l f = concatMap f l
+@inline
+"An effectful version of the Kleisli composition operator `(>=>)`"
+compE :: MonadE m => (a -> <e> m b) -> (b -> <f> m c) -> a -> <e,f> m c
+compE f g x = (f x) `bindE` g
+
/// MZeroE ///
class (MonadE m, MonadZero m) => MonadZeroE m where
/// MZeroE ///
class (MonadE m, MonadZero m) => MonadZeroE m where