Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class HasNodeName v where
- data PathEdge
- computePaths :: (HasCallStack, HasNodeName v) => ComputeDag v PathEdge -> Try (Map VertexId NodePath)
- assignPaths' :: (HasCallStack, HasNodeName v) => Map VertexId NodePath -> ComputeDag v e -> ComputeDag v e
- type Scopes = Map (Maybe VertexId) (Set VertexId)
- data ParentSplit a = ParentSplit {}
- mergeScopes :: Scopes -> Scopes -> Scopes
- gatherPaths :: Scopes -> Map VertexId [[VertexId]]
- iGetScopes0 :: forall a. Show a => [Vertex a] -> (Vertex a -> ParentSplit a) -> Scopes
Documentation
class HasNodeName v where Source #
getNodeName :: v -> NodeName Source #
assignPath :: v -> NodePath -> v Source #
The types of edges for the calculation of paths. - same level parent -> the node should have the same prefix as its parents - inner edge -> the parent defines the scope of this node
computePaths :: (HasCallStack, HasNodeName v) => ComputeDag v PathEdge -> Try (Map VertexId NodePath) Source #
assignPaths' :: (HasCallStack, HasNodeName v) => Map VertexId NodePath -> ComputeDag v e -> ComputeDag v e Source #
iGetScopes0 :: forall a. Show a => [Vertex a] -> (Vertex a -> ParentSplit a) -> Scopes Source #