Streamly.Internal.Data.Builder
Imports
Types
newtype Builder s m a Source #
A simple stateful function composing monad that chains state passing functions. This can be considered as a simplified version of the State monad or even a Fold. Unlike fold the step function is one-shot and not called in a loop.
Constructors
Builder (s -> m (a, s)) |
Instances
Monad m => Applicative (Builder a m) Source # | |
Defined in Streamly.Internal.Data.Builder Methods pure :: a0 -> Builder a m a0 Source # (<*>) :: Builder a m (a0 -> b) -> Builder a m a0 -> Builder a m b Source # liftA2 :: (a0 -> b -> c) -> Builder a m a0 -> Builder a m b -> Builder a m c Source # (*>) :: Builder a m a0 -> Builder a m b -> Builder a m b Source # (<*) :: Builder a m a0 -> Builder a m b -> Builder a m a0 Source # | |
Functor m => Functor (Builder s m) Source # | Maps a function on the output of the fold (the type |
Monad m => Monad (Builder a m) Source # | |