graph-rewriting-0.4.8: Monadic graph rewriting of hypergraphs with ports and multiedges



This modules provides variants of the functions in GraphRewriting.Graph.Write for transforming the graph, but without checking for changed port assignments, which could lead to an inconsistent state. Therefore these should only be used (for increased efficiency) if the modifications do not change the graph structure (such as in layouting), or you really know what you are doing. Note that the functions provided by this library never change the length of the port list


modifyNode :: Node -> (n -> n) -> Rewrite n ()Source

updateNode :: View v n => v -> Node -> Rewrite n ()Source

adjustNode :: View v n => (v -> v) -> Node -> Rewrite n ()Source

adjustNodeM :: (View [Port] n, View v n) => (v -> Rewrite n v) -> Node -> Rewrite n ()Source

module Data.View