Data.Graph.Inductive.Internal.Thread

fgl-5.8.3.0: Martin Erwig's Functional Graph Library

Safe Haskell | Safe-Inferred
Language | Haskell98

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

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