drinkery-0.2: Boozy streaming library

Safe HaskellSafe
LanguageHaskell2010

Data.Drinkery.Still

Synopsis

Documentation

type Cask r s = Tap r (Maybe s) Source #

type Still p q r s m = Cask r s (Drinker (Cask p q) m) Source #

Mono in/out

type Pipe a b m = forall r. (Monoid r, Semigroup r) => Still r a r b m Source #

scan :: Monad m => (b -> a -> b) -> b -> Pipe a b m Source #

reserve :: (Monoid r, MonadDrunk (Cask r s) m) => (s -> Barman r (Maybe t) m ()) -> Barman r (Maybe t) m () Source #

map :: (Functor t, Monad m) => (a -> b) -> Distiller (Tap r (t a)) r (t b) m Source #

mapMaybe :: Monad m => (a -> Maybe b) -> Pipe a b m Source #

filter :: Monad m => (a -> Bool) -> Pipe a a m Source #

mapAccum :: Monad m => (s -> a -> (s, b)) -> s -> Pipe a b m Source #

drinkUp :: (Monoid r, Semigroup r, MonadDrunk (Tap r (Maybe s)) m) => m [s] Source #

Consume all the content of a Tap and return the elements as a list.

sip :: (Monoid r, Alternative m, MonadDrunk (Tap r (Maybe s)) m) => m s Source #