Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Graph s e a z = BasicVector a => Graph {
- graphInnerNodes :: NodeMap s (Node s e a)
- graphFinalNode :: Node s e a z
- data Node s e a v = BasicVector v => Node [Edge s e a v]
- data SomeGraph e a z where
- evalGraph :: forall s x z. Graph s FwdFun z x -> z -> x
- transposeGraph :: forall s f g a z. IsNodeSet s => (forall u v. f u v -> g v u) -> Graph s f a z -> Graph s g z a
- unsafeFromOpenGraph :: (BasicVector a, HasCallStack) => OpenGraph a v -> SomeGraph BackFun a v
Graph type
BasicVector a => Graph | |
|
Inner node. This does not include initial node. Contains a list of ingoing edges.
BasicVector v => Node [Edge s e a v] |
Evaluate
Transpose
transposeGraph :: forall s f g a z. IsNodeSet s => (forall u v. f u v -> g v u) -> Graph s f a z -> Graph s g z a Source #
Reverse edges. Turns reverse mode evaluation into forward mode.
Construct
unsafeFromOpenGraph :: (BasicVector a, HasCallStack) => OpenGraph a v -> SomeGraph BackFun a v Source #
Will crash if graph has invalid keys