definition:
|
localDependencyGraphs :: [FuncDecl] -> [(QName,[(QName,[QName])])]
localDependencyGraphs funs =
let directdeps = map directlyDependent funs
in map (\(f,ds) -> (f,map (\g->(g,if fst f == fst g
then toList (fromJust (lookup g directdeps))
else []))
(toList (insert f ds))))
(localDepsClosure directdeps)
|
demand:
|
argument 1
|
deterministic:
|
deterministic operation
|
documentation:
|
Computes for all functions the list of all direct local dependencies, i.e.,
dependencies occurring in the module where the function is defined.
Thus, dependencies outside the module are not represented.
This is useful to represent the local dependency graph for each function.
Argument: a list of function declarations
Result: a list of pairs of qualified functions names and the corresponding list of
direct local dependencies for all functions on which this functions depend
|
failfree:
|
<FAILING>
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{(_) |-> {:,[]}}
|
name:
|
localDependencyGraphs
|
precedence:
|
no precedence defined
|
result-values:
|
{:,[]}
|
signature:
|
[FlatCurry.Types.FuncDecl]
-> [((String, String), [((String, String), [(String, String)])])]
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|