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

Language | Haskell2010 |

Monadic Stream Functions are synchronized stream functions with side effects.

- module Control.Arrow
- insert :: Monad m => MStreamF m (m a) a
- liftMStreamF_ :: Monad m => m b -> MStreamF m a b
- (^>>>) :: MonadBase m1 m2 => MStreamF m1 a b -> MStreamF m2 b c -> MStreamF m2 a c
- (>>>^) :: MonadBase m1 m2 => MStreamF m2 a b -> MStreamF m1 b c -> MStreamF m2 a c
- iPost :: Monad m => b -> MStreamF m a b -> MStreamF m a b
- next :: Monad m => b -> MStreamF m a b -> MStreamF m a b
- untilS :: Monad m => MStreamF m a b -> MStreamF m b Bool -> MStreamF m a (b, Maybe ())
- andThen :: Monad m => MStreamF m a (b, Maybe ()) -> MStreamF m a b -> MStreamF m a b
- withSideEffect :: Monad m => (a -> m b) -> MStreamF m a a
- withSideEffect_ :: Monad m => m b -> MStreamF m a a
- traceGeneral :: (Monad m, Show a) => (String -> m ()) -> String -> MStreamF m a a
- trace :: Show a => String -> MStreamF IO a a
- pauseOnGeneral :: (Monad m, Show a) => (a -> Bool) -> (String -> m ()) -> String -> MStreamF m a a
- pauseOn :: Show a => (a -> Bool) -> String -> MStreamF IO a a
- sum :: (Monoid n, Monad m) => MStreamF m n n
- sumFrom :: (Monoid n, Monad m) => n -> MStreamF m n n
- count :: (Num n, Monad m) => MStreamF m () n
- unfold :: Monad m => (a -> (b, a)) -> a -> MStreamF m () b
- repeatedly :: Monad m => (a -> a) -> a -> MStreamF m () a
- mapMStreamF :: Monad m => MStreamF m a b -> MStreamF m [a] [b]
- type MStream m a = MStreamF m () a

# Documentation

module Control.Arrow

## Instances for monadic streams

## Lifts

liftMStreamF_ :: Monad m => m b -> MStreamF m a b Source #

# Monadic lifting from one monad into another

## Monad stacks

## Delays and signal overwriting

## Switching

## Feedback loops

# Adding side effects

withSideEffect :: Monad m => (a -> m b) -> MStreamF m a a Source #

withSideEffect_ :: Monad m => m b -> MStreamF m a a Source #

# Debugging

pauseOnGeneral :: (Monad m, Show a) => (a -> Bool) -> (String -> m ()) -> String -> MStreamF m a a Source #

# Tests and examples

repeatedly :: Monad m => (a -> a) -> a -> MStreamF m () a Source #

# Streams (or generators)

# Orphan instances

Functor m => Functor (MStreamF m r) Source # | |

Applicative m => Applicative (MStreamF m r) Source # | |