Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Downhill.Internal.Graph.OpenGraph
Synopsis
- data OpenEdge a v where
- OpenEdge :: BackFun u v -> OpenEndpoint a u -> OpenEdge a v
- data OpenEndpoint a v where
- OpenSourceNode :: OpenEndpoint a a
- OpenInnerNode :: OpenKey v -> OpenEndpoint a v
- data OpenNode a v = BasicVector v => OpenNode [OpenEdge a v]
- data OpenGraph a z = OpenGraph (OpenNode a z) (OpenMap (OpenNode a))
- recoverSharing :: forall a z. BasicVector z => [Term a z] -> IO (OpenGraph a z)
Documentation
data OpenEdge a v where Source #
Constructors
OpenEdge :: BackFun u v -> OpenEndpoint a u -> OpenEdge a v |
data OpenEndpoint a v where Source #
Constructors
OpenSourceNode :: OpenEndpoint a a | |
OpenInnerNode :: OpenKey v -> OpenEndpoint a v |
Computational graph under construction. Open refers to the set of the nodes – new nodes can be
added to this graph. Once the graph is complete the set of nodes will be frozen
and the type of the graph will become Graph
(Downhill.Internal.Graph module).
recoverSharing :: forall a z. BasicVector z => [Term a z] -> IO (OpenGraph a z) Source #
Collects duplicate nodes in Expr
tree and converts it to a graph.