Graph +containers

module Data.Graph
containers Data.Graph
A version of the graph algorithms described in: Structuring Depth-First Search Algorithms in Haskell, by David King and John Launchbury.
type Graph = Table [Vertex]
containers Data.Graph
Adjacency list representation of a graph, mapping each vertex to its list of successors.
graphFromEdges :: Ord key => [(node, key, [key])] -> (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex)
containers Data.Graph
Build a graph from a list of nodes uniquely identified by keys, with a list of keys of nodes this node should have edges to. The out-list may contain keys that don't correspond to nodes of the graph; they are ignored.
graphFromEdges' :: Ord key => [(node, key, [key])] -> (Graph, Vertex -> (node, key, [key]))
containers Data.Graph
Identical to graphFromEdges, except that the return value does not include the function which maps keys to vertices. This version of graphFromEdges is for backwards compatibility.