fgl-5.4.2.4: Martin Erwig's Functional Graph Library

Safe Haskell | None

Data.Graph.Inductive.Internal.Thread

Contents

- Types
- Operations

Description

Threading Combinators.

Synopsis

- 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)
- 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)

# Types

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

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

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

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

# Operations

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

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

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

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

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

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