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