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

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

`>>>`

[Right 1,Left (),Right 2,Right 2]`runT $ supply [1,2,2] (taggedBy (==))`

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.