fgl-5.4.2.4: Martin Erwig's Functional Graph Library

Data.Graph.Inductive.Monad

Contents

Description

Monadic Graphs

Synopsis

Classes

class Monad m => GraphM m gr whereSource

Methods

emptyM :: m (gr a b)Source

isEmptyM :: m (gr a b) -> m BoolSource

matchM :: Node -> m (gr a b) -> m (Decomp gr a b)Source

mkGraphM :: [LNode a] -> [LEdge b] -> m (gr a b)Source

labNodesM :: m (gr a b) -> m [LNode a]Source

matchAnyM :: m (gr a b) -> m (GDecomp gr a b)Source

noNodesM :: m (gr a b) -> m IntSource

nodeRangeM :: m (gr a b) -> m (Node, Node)Source

labEdgesM :: m (gr a b) -> m [LEdge b]Source

Instances

Operations

Graph Folds and Maps

ufoldM :: GraphM m gr => (Context a b -> c -> c) -> c -> m (gr a b) -> m cSource

graph fold

Graph Projection

nodesM :: GraphM m gr => m (gr a b) -> m [Node]Source

edgesM :: GraphM m gr => m (gr a b) -> m [Edge]Source

newNodesM :: GraphM m gr => Int -> m (gr a b) -> m [Node]Source

Graph Construction and Destruction

delNodeM :: GraphM m gr => Node -> m (gr a b) -> m (gr a b)Source

delNodesM :: GraphM m gr => [Node] -> m (gr a b) -> m (gr a b)Source

mkUGraphM :: GraphM m gr => [Node] -> [Edge] -> m (gr () ())Source

Graph Inspection

contextM :: GraphM m gr => m (gr a b) -> Node -> m (Context a b)Source

labM :: GraphM m gr => m (gr a b) -> Node -> m (Maybe a)Source