|
| Data.Generics.Strafunski.StrategyLib.MonadicFunctions | | Portability | portable | | Stability | experimental | | Maintainer | Ralf Laemmel, Joost Visser |
|
|
|
|
|
| Description |
| This module is part of StrategyLib, a library of functional strategy
combinators, including combinators for generic traversal. This module
defines auxilliary monadic functions, some of which serve as parametric
polymorphic prototypes for actual strategy combinators.
|
|
| Synopsis |
|
|
|
|
| Prototypes for strategy combinators seq, let, choice
|
|
| mseq :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c |
| Sequential composition of monadic functions
|
|
| mlet :: Monad m => (a -> m b) -> (b -> a -> m c) -> a -> m c |
| Sequential composition with value passing; a kind of monadic let.
|
|
| mchoice :: MonadPlus m => (a -> m b) -> (a -> m b) -> a -> m b |
| Choice combinator for monadic functions
|
|
| Guards and conditionals
|
|
| argtype :: MonadPlus m => (x -> y) -> x -> m () |
| Type guard described by the argument type of a function.
|
|
| valtype :: MonadPlus m => x -> x -> m () |
| Type guard described by a type of a value.
|
|
| ifM :: MonadPlus m => m a -> (a -> m c) -> m c -> m c |
| A kind of monadic conditional.
|
|
| Produced by Haddock version 0.8 |