CurryInfo: verify-non-fail-2.0.0 / Main.funcDecls2Usage

definition:
funcDecls2Usage :: String -> [FuncDecl] -> Map.Map QName [FuncDecl]
funcDecls2Usage mname fdecls = addFDecls (Map.empty) fdecls
 where
  addFDecls m []       = m
  addFDecls m (fd:fds) =
    let rhsfuns = filter (\f -> fst f == mname) (usedFuncsInFunc fd)
    in Map.insertListWith unionFDecls (map (\qf -> (qf,[fd])) rhsfuns)
                          (addFDecls m fds)
demand:
argument 2
deterministic:
deterministic operation
documentation:
------------------------------------------------------------------------------
--- Computes for a given set of function declarations in a module
--- a mapping from module function names to the list of function
--- declarations where these names are used in the right-hand side.
indeterministic:
referentially transparent operation
infix:
no fixity defined
name:
funcDecls2Usage
precedence:
no precedence defined
result-values:
_
signature:
String -> [FlatCurry.Types.FuncDecl]
-> Data.Map.Map (String, String) [FlatCurry.Types.FuncDecl]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term