quiver-0.0.0.1: Quiver finite stream processing library

Safe HaskellSafe
LanguageHaskell2010

Control.Quiver

Documentation

data Q a' a b' b f c Source

Instances

Monad f => Monad (Q a' a b' b f) Source 
Functor f => Functor (Q a' a b' b f) Source 
Applicative f => Applicative (Q a' a b' b f) Source 

consume :: a' -> (a -> Q a' a b' b f c) -> (forall x' x. Q x' x b' b f c) -> Q a' a b' b f c Source

produce :: b -> (b' -> Q a' a b' b f c) -> (forall x' x. Q a' a x' x f c) -> Q a' a b' b f c Source

enclose :: f (Q a' a b' b f c) -> Q a' a b' b f c Source

deliver :: c -> Q a' a b' b f c Source

decouple :: Functor f => Q a' a b' b f c -> forall x' x. Q x' x b' b f c Source

evacuate :: Functor f => Q a' a b' b f c -> forall x' x. Q a' a x' x f c Source

fetch :: a' -> Q a' a b' b f (Maybe a) Source

fetch' :: a' -> (forall x' x. Q x' x b' b f a) -> Q a' a b' b f a Source

emit :: b -> Q a' a b' b f (Maybe b') Source

emit' :: b -> (forall x' x. Q a' a x' x f b') -> Q a' a b' b f b' Source

emit_ :: b -> Q a' a b' b f () Source

liftQ :: Functor f => f c -> Q a' a b' b f c Source

(>>->) :: Functor f => Q a' a t' t f c1 -> Q t' t b' b f c2 -> Q a' a b' b f (c1, c2) infixl 0 Source

(>->>) :: Functor f => Q a' a t' t f c1 -> Q t' t b' b f c2 -> Q a' a b' b f (c1, c2) infixl 0 Source