| type Node = Int |
|
| type LNode a = (Node, a) |
|
| type UNode = LNode () |
|
| type Edge = (Node, Node) |
|
| type LEdge b = (Node, Node, b) |
|
| type UEdge = LEdge () |
|
| data Graph a b |
|
| type UGraph = Graph () () |
|
| type Adj b = [(b, Node)] |
|
| type Context a b = (Adj b, Node, a, Adj b) |
|
| type MContext a b = Maybe (Context a b) |
|
| type Decomp a b = (MContext a b, Graph a b) |
|
| type GDecomp a b = (Context a b, Graph a b) |
|
| type Path = [Node] |
|
| type LPath a = [LNode a] |
|
| type UPath = [UNode] |
|
| empty :: Graph a b |
|
| embed :: Context a b -> Graph a b -> Graph a b |
|
| match :: Node -> Graph a b -> Decomp a b |
|
| matchP :: Node -> Graph a b -> Decomp a b |
|
| matchAny :: Graph a b -> GDecomp a b |
|
| emptyU :: UGraph |
|
| embedU :: UContext -> UGraph -> UGraph |
|
| matchU :: Node -> UGraph -> UDecomp |
|
| matchAnyU :: UGraph -> (UContext, UGraph) |
|
| isEmpty :: Graph a b -> Bool |
|
| matchSome :: (Graph a b -> Node -> Bool) -> Graph a b -> GDecomp a b |
|
| matchThe :: (Graph a b -> Node -> Bool) -> Graph a b -> GDecomp a b |
|
| context :: Node -> Graph a b -> Context a b |
|
| contextP :: Node -> Graph a b -> Context a b |
|
| delNode :: Node -> Graph a b -> Graph a b |
|
| delNodes :: [Node] -> Graph a b -> Graph a b |
|
| delEdge :: Edge -> Graph a b -> Graph a b |
|
| delEdges :: [Edge] -> Graph a b -> Graph a b |
|
| delLEdge :: Eq b => LEdge b -> Graph a b -> Graph a b |
|
| suc :: Graph a b -> Node -> [Node] |
|
| pre :: Graph a b -> Node -> [Node] |
|
| neighbors :: Graph a b -> Node -> [Node] |
|
| out :: Graph a b -> Node -> [LEdge b] |
|
| inn :: Graph a b -> Node -> [LEdge b] |
|
| indeg :: Graph a b -> Node -> Int |
|
| outdeg :: Graph a b -> Node -> Int |
|
| deg :: Graph a b -> Node -> Int |
|
| suc' :: Context a b -> [Node] |
|
| pre' :: Context a b -> [Node] |
|
| neighbors' :: Context a b -> [Node] |
|
| out' :: Context a b -> [LEdge b] |
|
| inn' :: Context a b -> [LEdge b] |
|
| indeg' :: Context a b -> Int |
|
| outdeg' :: Context a b -> Int |
|
| deg' :: Context a b -> Int |
|
| node' :: Context a b -> Node |
|
| lab' :: Context a b -> a |
|
| labNode' :: Context a b -> LNode a |
|
| noNodes :: Graph a b -> Int |
|
| nodeRange :: Graph a b -> (Node, Node) |
|
| nodes :: Graph a b -> [Node] |
|
| labNodes :: Graph a b -> [LNode a] |
|
| edges :: Graph a b -> [Edge] |
|
| labEdges :: Graph a b -> [LEdge b] |
|
| newNodes :: Int -> Graph a b -> [Node] |
|
| insNode :: LNode a -> Graph a b -> Graph a b |
|
| insNodes :: [LNode a] -> Graph a b -> Graph a b |
|
| insEdge :: LEdge b -> Graph a b -> Graph a b |
|
| insEdges :: [LEdge b] -> Graph a b -> Graph a b |
|
| mkGraph :: [LNode a] -> [LEdge b] -> Graph a b |
|
| mkUGraph :: [Node] -> [Edge] -> UGraph |
|
| buildGr :: [Context a b] -> Graph a b |