definitive-base-1.2: The base modules of the Definitive framework.

Safe HaskellNone

Algebra.Monad.Base

Contents

Synopsis

Documentation

Monad utilities

newtype Kleisli m a b Source

Constructors

Kleisli 

Fields

runKleisli :: a -> m b
 

Instances

Monad m => Split (Kleisli m) 
Monad m => Choice (Kleisli m) 
Monad m => Category (Kleisli m) 
Monad m => Apply (Kleisli m) 
Monad m => Arrow (Kleisli m) 
Functor f => Functor (Kleisli f a) 
Contravariant f => Contravariant (Kleisli f a) 
Isomorphic (a -> m b) (c -> m' d) (Kleisli m a b) (Kleisli m' c d) 

i'Kleisli :: Iso (Kleisli m a b) (Kleisli m' c d) (a -> m b) (c -> m' d)Source

(=<<) :: Monad m => (a -> m b) -> m a -> m bSource

joinMap :: Monad m => (a -> m b) -> m a -> m bSource

(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m cSource

(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m cSource

(>>) :: Applicative f => f a -> f b -> f bSource

(<*=) :: Monad m => m a -> (a -> m b) -> m aSource

only :: (Monoid (m ()), Monad m) => (a -> Bool) -> m a -> m aSource

return :: Unit f => a -> f aSource

foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m aSource

foldrM :: (Foldable t, Monad m) => (b -> a -> m a) -> t b -> a -> m aSource

findM :: (Foldable t, Monad m) => (a -> m (Maybe b)) -> t a -> m (Maybe b)Source

while :: Monad m => m Bool -> m ()Source

until :: Monad m => m (Maybe a) -> m aSource

bind2 :: Monad m => (a -> b -> m c) -> m a -> m b -> m cSource

bind3 :: Monad m => (a -> b -> c -> m d) -> m a -> m b -> m c -> m dSource

(>>>=) :: Monad m => (m a, m b) -> (a -> b -> m c) -> m cSource

(>>>>=) :: Monad m => (m a, m b, m c) -> (a -> b -> c -> m d) -> m dSource

Monadic Lenses

type Action s t a b = forall m. Monad m => LensLike m s t a bSource

type Action' a b = Action b b a aSource

Instance utilities

newtype Compose' f g a Source

Constructors

Compose' ((g :.: f) a) 

Instances

i'Compose' :: Iso (Compose' f g a) (Compose' h i b) (g (f a)) (i (h b))Source