| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
FRP.Rhine.ResamplingBuffer.Collect
Synopsis
- collect :: Monad m => ResamplingBuffer m cl1 cl2 a [a]
- collectSequence :: Monad m => ResamplingBuffer m cl1 cl2 a (Seq a)
- pureBuffer :: Monad m => ([a] -> b) -> ResamplingBuffer m cl1 cl2 a b
- foldBuffer :: Monad m => (a -> b -> b) -> b -> ResamplingBuffer m cl1 cl2 a b
Documentation
collect :: Monad m => ResamplingBuffer m cl1 cl2 a [a] Source #
Collects all input in a list, with the newest element at the head,
which is returned and emptied upon get.
collectSequence :: Monad m => ResamplingBuffer m cl1 cl2 a (Seq a) Source #
Reimplementation of collect with sequences,
which gives a performance benefit if the sequence needs to be reversed or searched.
pureBuffer :: Monad m => ([a] -> b) -> ResamplingBuffer m cl1 cl2 a b Source #
pureBuffer collects all input values lazily in a list
and processes it when output is required.
Semantically, pureBuffer f == collect >>-^ arr f,
but pureBuffer is slightly more efficient.
Arguments
| :: Monad m | |
| => (a -> b -> b) | The folding function |
| -> b | The initial value |
| -> ResamplingBuffer m cl1 cl2 a b |
A buffer collecting all incoming values with a folding function.
It is strict, i.e. the state value b is calculated on every put.