Copyright | (c) 2022 Composewell Technologies |
---|---|
License | BSD3 |
Maintainer | streamly@composewell.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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.
Builder (s -> m (a, s)) |
Instances
Monad m => Applicative (Builder a m) Source # | |
Defined in Streamly.Internal.Data.Builder 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 # | |