Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Functions for computing the dependency graph of variables within a term or type. A "dependency" between two nodes "A depends on B" means that B cannot be removed from the program without also removing A.
Synopsis
- data Node
- type DepGraph g = (Graph g, Vertex g ~ Node)
- runTermDeps ∷ (DepGraph g, HasUnique tyname TypeUnique, HasUnique name TermUnique, ToBuiltinMeaning uni fun) ⇒ BuiltinsInfo uni fun → VarsInfo tyname name uni a → Term tyname name uni fun a → g
Documentation
A node in a dependency graph. Either a specific Unique
, or a specific
node indicating the root of the graph. We need the root node because when computing the
dependency graph of, say, a term, there will not be a binding for the term itself which
we can use to represent it in the graph.
runTermDeps ∷ (DepGraph g, HasUnique tyname TypeUnique, HasUnique name TermUnique, ToBuiltinMeaning uni fun) ⇒ BuiltinsInfo uni fun → VarsInfo tyname name uni a → Term tyname name uni fun a → g Source #