Safe Haskell | None |
---|---|
Language | Haskell2010 |
Algebra.Monad.Base
- module Algebra.Classes
- module Algebra.Applicative
- module Algebra.Core
- module Algebra.Traversable
- module Algebra.Lens
- newtype Kleisli m a b = Kleisli {
- runKleisli :: a -> m b
- i'Kleisli :: Iso (Kleisli m a b) (Kleisli m' c d) (a -> m b) (c -> m' d)
- (=<<) :: Monad m => (a -> m b) -> m a -> m b
- joinMap :: Monad m => (a -> m b) -> m a -> m b
- (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
- (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
- (>>) :: Applicative f => f a -> f b -> f b
- (<*=) :: Monad m => m a -> (a -> m b) -> m a
- only :: (Monoid (m ()), Monad m) => (a -> Bool) -> m a -> m a
- return :: Unit f => a -> f a
- foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a
- foldrM :: (Foldable t, Monad m) => (b -> a -> m a) -> t b -> a -> m a
- findM :: (Foldable t, Monad m) => (a -> m (Maybe b)) -> t a -> m (Maybe b)
- while :: Monad m => m Bool -> m ()
- until :: Monad m => m (Maybe a) -> m a
- bind2 :: Monad m => (a -> b -> m c) -> m a -> m b -> m c
- bind3 :: Monad m => (a -> b -> c -> m d) -> m a -> m b -> m c -> m d
- (>>>=) :: Monad m => (m a, m b) -> (a -> b -> m c) -> m c
- (>>>>=) :: Monad m => (m a, m b, m c) -> (a -> b -> c -> m d) -> m d
- mfix_ :: MonadFix m => (a -> m a) -> m ()
- mfixing :: MonadFix f => (b -> f (a, b)) -> f a
- newtype Compose' f g a = Compose' ((g :.: f) a)
- i'Compose' :: Iso (Compose' f g a) (Compose' h i b) (g (f a)) (i (h b))
- coerceJoin :: forall m m' a. Monad m => (forall b. m b -> m' b) -> m' (m' a) -> m' a
- coerceDuplicate :: forall m m' a. Comonad m => (forall b. m b -> m' b) -> m' a -> m' (m' a)
Documentation
module Algebra.Classes
module Algebra.Applicative
module Algebra.Core
module Algebra.Traversable
module Algebra.Lens
Monad utilities
newtype Kleisli m a b Source #
Constructors
Kleisli | |
Fields
|
Instances
Monad m => Split (Kleisli m) Source # | |
Monad m => Choice (Kleisli m) Source # | |
Monad m => Category (Kleisli m) Source # | |
Monad m => Deductive (Kleisli m) Source # | |
Monad m => Apply (Kleisli m) Source # | |
Monad m => Arrow (Kleisli m) Source # | |
Functor f => Functor (Kleisli f a) Source # | |
Contravariant f => Contravariant (Kleisli f a) Source # | |
Isomorphic (a -> m b) (c -> m' d) (Kleisli m a b) (Kleisli m' c d) Source # | |
(>>) :: Applicative f => f a -> f b -> f b infixl 1 Source #
Instance utilities
newtype Compose' f g a Source #
Instances
coerceJoin :: forall m m' a. Monad m => (forall b. m b -> m' b) -> m' (m' a) -> m' a Source #
coerceDuplicate :: forall m m' a. Comonad m => (forall b. m b -> m' b) -> m' a -> m' (m' a) Source #
Orphan instances
MonadIO IO Source # | |
ConcreteMonad Backwards Source # | |
MonadTrans Backwards Source # | |
MonadFix [] Source # | |
MonadFix IO Source # | |
MonadFix Strict Source # | |
MonadFix m => MonadFuture m (Backwards m) Source # | |
(Traversable g, Monad g, MonadWriter w f) => MonadWriter w ((:.:) f g) Source # | |
(Traversable g, Monad g, MonadReader r f) => MonadReader r ((:.:) f g) Source # | |
(Traversable g, Monad g, MonadState s f) => MonadState s ((:.:) f g) Source # | |
(MonadIO m, MonadTrans t, Monad (t m)) => MonadIO (t m) Source # | |
Monad m => ConcreteMonad ((:.:) m) Source # | |
Monad m => MonadTrans ((:.:) m) Source # | |
MonadFix ((->) b) Source # | |
MonadFix (Either e) Source # | |
Monoid b => MonadFix ((,) b) Source # | |
MonadFix m => MonadFix (Backwards m) Source # | |
MonadFix m => Monad (Backwards m) Source # | |
(MonadFix f, Traversable g, Monad g) => MonadFix ((:.:) f g) Source # | |
(Traversable g, Monad f, Monad g) => Monad ((:.:) f g) Source # | |