Graph analysis
- nodes :: Node -> [Node]
- label :: [(NodeID, Node)] -> Node -> NodeID
- source :: [(NodeID, Node)] -> Node -> (NodeID, PortID)
- type Edge = ((NodeID, PortID), (NodeID, PortID))
- edges :: [(NodeID, Node)] -> Node -> [Edge]
- analyse :: [Node] -> [((NodeID, Node), [Edge])]
- mod_e :: Edge -> (NodeID, NodeID, (PortID, PortID))
- graph :: Node -> Gr Node (PortID, PortID)
- tsort :: Node -> [Node]