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

definition: Info
 
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: Info
 argument 1
deterministic: Info
 deterministic operation
documentation: Info
 
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: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_) |-> {:,[]}}
name: Info
 localDependencyGraphs
precedence: Info
 no precedence defined
result-values: Info
 {:,[]}
signature: Info
 [FlatCurry.Types.FuncDecl]
-> [((String, String), [((String, String), [(String, String)])])]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term