CurryInfo: nonstrictunif-optimize-3.0.0 / CurryBrowseAnalysis.Dependency.dependencyGraphs

definition:
 
dependencyGraphs :: [FuncDecl] -> [(QName,[(QName,[QName])])]
dependencyGraphs funs =
  let directdeps = map directlyDependent funs
   in map (\(f,ds) -> (f,map (\g->(g,toList (fromJust (lookup g directdeps))))
                             (toList (insert f ds))))
          (depsClosure directdeps)
demand:
 argument 1
deterministic:
 deterministic operation
documentation:
 
Computes the list of all direct dependencies for all functions.
This is useful to represent the 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 dependencies for all functions on which this functions depend
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_) |-> {:,[]}}
name:
 dependencyGraphs
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