| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Drinkery.Distiller
- type Distiller p q m = Tap (Patron p q m)
- (+&) :: (Monoid r, CloseRequest r, Monad m) => Tap m r s -> Patron r s m a -> m a
- ($&) :: (Monoid r, Monad m) => Distiller p q m r s -> Patron r s m a -> Patron p q m a
- (++$) :: (Monoid p, Monad m) => Tap m p q -> Distiller p q m r s -> Tap m r s
- ($$$) :: (Monoid r, Monad m) => Distiller p q m r s -> Distiller r s m t u -> Distiller p q m t u
- (++&) :: (Monoid r, Monad m) => Tap m r s -> Patron r s m a -> m (Tap m r s, a)
- ($$&) :: (Monoid r, Monad m) => Distiller p q m r s -> Patron r s m a -> Patron p q m (Distiller p q m r s, a)
- mapping :: Functor m => (a -> b) -> Distiller r a m r b
- traversing :: Monad m => (a -> m b) -> Distiller r a m r b
- filtering :: (Monoid r, Functor m) => (a -> Bool) -> Distiller r a m r a
- scanning :: (Monoid r, Functor m) => (b -> a -> b) -> b -> Distiller r a m r b
- scanningMaybe :: (Monoid r, Functor m) => (b -> a -> b) -> b -> Distiller r (Maybe a) m r (Maybe b)
- throughMaybe :: (Monoid r, Monad m) => Distiller p q m r s -> Distiller p (Maybe q) m r (Maybe s)
- boozeOn :: (Monoid r, Monad m) => (forall x. n x -> m x) -> (r -> [s] -> Tap m r s -> a -> m z) -> r -> [s] -> Tap m r s -> Boozer r s n a -> m z
- distillWith :: (Monoid p, Monad m) => (forall x. n x -> m x) -> Tap m p q -> Distiller p q n r s -> Tap m r s
Documentation
type Distiller p q m = Tap (Patron p q m) Source #
'Distiller p q m r s' is a stream transducer which has five parameters:
prequest to the upstreamqinputmunderlying monadrrequest from the downstreamsoutput
Special combinators
(+&) :: (Monoid r, CloseRequest r, Monad m) => Tap m r s -> Patron r s m a -> m a infix 6 Source #
Connect a tap with a patron and close the used tap.
($&) :: (Monoid r, Monad m) => Distiller p q m r s -> Patron r s m a -> Patron p q m a infixr 7 Source #
Like $&& but discards the used distiller.
Attaching a distiller
(++$) :: (Monoid p, Monad m) => Tap m p q -> Distiller p q m r s -> Tap m r s infixl 7 Source #
Attach a distiller to a tap.
Mnemonic:
+Left operand is a tap.+Returns a tap.$Right operand is a distiller.
($$$) :: (Monoid r, Monad m) => Distiller p q m r s -> Distiller r s m t u -> Distiller p q m t u infixl 8 Source #
Full duplex composition of distillers.
Mnemonic:
$Left operand is a distiller.$Returns a distiller.$Right operand is a distiller.
Patron
(++&) :: (Monoid r, Monad m) => Tap m r s -> Patron r s m a -> m (Tap m r s, a) infix 6 Source #
Connect a tap with a patron.
Mnemonic:
+Left operand is a tap.+Returns a tap (along with the result).&Right operand is a patron.
($$&) :: (Monoid r, Monad m) => Distiller p q m r s -> Patron r s m a -> Patron p q m (Distiller p q m r s, a) infixr 7 Source #
Attach a distiller to a patron.
Mnemonic:
$Left operand is a distiller.$Returns the used distiller.&Right operand is a patron.
Stock distillers
traversing :: Monad m => (a -> m b) -> Distiller r a m r b Source #
scanningMaybe :: (Monoid r, Functor m) => (b -> a -> b) -> b -> Distiller r (Maybe a) m r (Maybe b) Source #
throughMaybe :: (Monoid r, Monad m) => Distiller p q m r s -> Distiller p (Maybe q) m r (Maybe s) Source #