Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- groupingOn :: Monad m => (a -> a -> Bool) -> ProcessT m a b -> ProcessT m a b
- taggedBy :: Monad m => (a -> a -> Bool) -> ProcessT m a (Either () a)
- partitioning :: Monad m => ProcessT m a b -> ProcessT m (Either () a) b
- starve :: Monad m => MachineT m k0 b -> MachineT m k b -> MachineT m k b
- awaitUntil :: Monad m => (a -> Bool) -> (a -> ProcessT m a b) -> ProcessT m a b
Documentation
groupingOn :: Monad m => (a -> a -> Bool) -> ProcessT m a b -> ProcessT m a b Source #
Using a function to signal group changes, apply a machine independently over each group.
taggedBy :: Monad m => (a -> a -> Bool) -> ProcessT m a (Either () a) Source #
Mark a transition point between two groups as a function of adjacent elements. Examples
>>>
runT $ supply [1,2,2] (taggedBy (==))
[Right 1,Left (),Right 2,Right 2]
partitioning :: Monad m => ProcessT m a b -> ProcessT m (Either () a) b Source #
Run a machine multiple times over partitions of the input stream specified by Left () values.