fgl-5.4.2.3: Martin Erwig's Functional Graph Library

Data.Graph.Inductive.Internal.Thread

Contents

Description

Threading Combinators.

Synopsis

Types

type Split t i r = i -> t -> (r, t)

type SplitM t i r = Split t i (Maybe r)

type Thread t i r = (t, Split t i r)

type Collect r c = (r -> c -> c, c)

Operations

threadList' :: Collect r c -> Split t i r -> [i] -> t -> (c, t)

threadList :: Collect r c -> Split t i r -> [i] -> t -> (c, t)

threadMaybe' :: (r -> a) -> Split t i r -> Split t j (Maybe i) -> Split t j (Maybe a)

threadMaybe :: (i -> r -> a) -> Split t i r -> SplitM t j i -> SplitM t j a

splitPar :: Split t i r -> Split u j s -> Split (t, u) (i, j) (r, s)

splitParM :: SplitM t i r -> Split u j s -> SplitM (t, u) (i, j) (r, s)