Safe Haskell | None |
---|
- data Graph n = Graph {}
- type Rewrite n = State (Graph n)
- newtype Node = Node {}
- newtype Port = Edge {}
- type Edge = Port
- readRef :: Monad m => Int -> IntMap a -> m a
- readEdge :: MonadReader (Graph n) r => Edge -> r IntSet
- modifyNodeMap :: (IntMap n -> IntMap n) -> Rewrite n ()
- modifyEdgeMap :: (IntMap IntSet -> IntMap IntSet) -> Rewrite n ()
- newRef :: Rewrite n Int
Documentation
Hypergraph that holds nodes of type n
. Nodes can be referenced by type Node
, edges by type Edge
, see GraphRewriting.Graph.Read and GraphRewriting.Graph.Write
= Port | a hyperedge really, connecting a non-empty subset of the graph's nodes (see |