| Copyright | (c) 2022 Composewell Technologies |
|---|---|
| License | BSD3 |
| Maintainer | streamly@composewell.com |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Streamly.Internal.Data.Builder
Description
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 # | |