quiver-0.0.0.1: Quiver finite stream processing library

Safe HaskellSafe
LanguageHaskell2010

Control.Quiver.Internal

Documentation

data Q a' a b' b f c Source

Constructors

Consume a' (a -> Q a' a b' b f c) (forall x' x. Q x' x b' b f c) 
Produce b (b' -> Q a' a b' b f c) (forall x' x. Q a' a x' x f c) 
Enclose (f (Q a' a b' b f c)) 
Deliver c 

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