Most of the functions for graph scrutinisation (`GraphRewriting.Graph.Read`

) and modification (`GraphRewriting.Graph.Write`

) are defined monadically. This module defines functions for extracting these monadic values and a few non-monadic graph scrutinisation/modification functions.

- emptyGraph :: Graph n
- nodes :: Graph n -> [n]
- edges :: Graph n -> [(Edge, [n])]
- unsafeMapNodes :: (n -> n') -> Graph n -> Graph n'
- unsafeMapNodesUnique :: (Int -> n -> n') -> Graph n -> Graph n'
- runGraph :: Rewrite n a -> Graph n -> (a, Graph n)
- evalGraph :: Rewrite n a -> Graph n -> a
- execGraph :: Rewrite n a -> Graph n -> Graph n
- module GraphRewriting.Graph.Types

# Documentation

emptyGraph :: Graph nSource

unsafeMapNodes :: (n -> n') -> Graph n -> Graph n'Source

unsafe, as no check for changed edge references is performed

unsafeMapNodesUnique :: (Int -> n -> n') -> Graph n -> Graph n'Source

unsafe map that supplies an additional unique key to the mapping function

runGraph :: Rewrite n a -> Graph n -> (a, Graph n)Source

apply a monadic graph modification to a graph

module GraphRewriting.Graph.Types