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 # | |