Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

- module Parameterized.Control.Applicative
- class PApplicative m t u v => PMonad m t u v where
- (&>>=) :: PMonad m t u v => PUnary m t a -> (a -> PUnary m u b) -> PUnary m v b
- (&>>) :: PMonad m t u v => PUnary m t a -> PUnary m u b -> PUnary m v b
- (&=<<) :: PMonad m t u v => (a -> PUnary m u b) -> PUnary m t a -> PUnary m v b
- (&>=>) :: PMonad m t u v => (a -> PUnary m t b) -> (b -> PUnary m u c) -> a -> PUnary m v c
- (&<=<) :: PMonad m t u v => (b -> PUnary m u c) -> (a -> PUnary m t b) -> a -> PUnary m v c

# Documentation

class PApplicative m t u v => PMonad m t u v where Source #

Parameterized version of Monad.

pbind :: PUnary m t a -> (a -> PUnary m u b) -> PUnary m v b infixl 1 Source #

Sequentially compose two actions, passing any value produced by the first as an argument to the second.

(Functor (ManyReader m (Many c)), Monad m, Select a c, Select b c, (~) [Type] c (AppendUnique Type a b)) => PMonad * (ManyReader m) (Many a) (Many b) (Many c) Source # | |

(Monad m, Select a c, Select b c, Amend a c, Amend b c, (~) [Type] c (AppendUnique Type a b)) => PMonad * (ManyState m) (Many a) (Many b) (Many c) Source # | |

Monad m => PMonad * (ChangingState m) (s, t) (t, u) (s, u) Source # | |

(&>>=) :: PMonad m t u v => PUnary m t a -> (a -> PUnary m u b) -> PUnary m v b infixl 1 Source #

Sequentially compose two actions, passing any value produced by the first as an argument to the second.

(&=<<) :: PMonad m t u v => (a -> PUnary m u b) -> PUnary m t a -> PUnary m v b infixr 1 Source #

Same as `&>>=`

, but with the arguments interchanged.