pipes-category-0.2.0.0: Allows instances for Category, Arrow and ArrowChoice for Pipes.

Safe HaskellNone
LanguageHaskell2010

Pipes.Shaft

Description

Allows instances for Category, Arrow and ArrowChoice for Pipe using newtype wrapper Shaft.

Documentation

newtype Shaft r m b c Source #

Constructors

Shaft 

Fields

Instances

Monad m => Category * (Shaft r m) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

Monad m => Arrow (Shaft r m) Source # 

Methods

arr :: (b -> c) -> Shaft r m b c #

first :: Shaft r m b c -> Shaft r m (b, d) (c, d) #

second :: Shaft r m b c -> Shaft r m (d, b) (d, c) #

(***) :: Shaft r m b c -> Shaft r m b' c' -> Shaft r m (b, b') (c, c') #

(&&&) :: Shaft r m b c -> Shaft r m b c' -> Shaft r m b (c, c') #

Monad m => ArrowChoice (Shaft r m) Source # 

Methods

left :: Shaft r m b c -> Shaft r m (Either b d) (Either c d) #

right :: Shaft r m b c -> Shaft r m (Either d b) (Either d c) #

(+++) :: Shaft r m b c -> Shaft r m b' c' -> Shaft r m (Either b b') (Either c c') #

(|||) :: Shaft r m b d -> Shaft r m c d -> Shaft r m (Either b c) d #

Wrapped (Shaft r0 m0 b0 c0) Source # 

Associated Types

type Unwrapped (Shaft r0 m0 b0 c0) :: * #

Methods

_Wrapped' :: Iso' (Shaft r0 m0 b0 c0) (Unwrapped (Shaft r0 m0 b0 c0)) #

(~) * (Shaft r0 m0 b0 c0) t0 => Rewrapped (Shaft r1 m1 b1 c1) t0 Source # 
type Unwrapped (Shaft r0 m0 b0 c0) Source # 
type Unwrapped (Shaft r0 m0 b0 c0) = Pipe b0 c0 m0 r0