CurryInfo: verify-non-fail-2.0.0 / Verify.WithSMT.usedFunctions

definition:
 
usedFunctions :: [QName] -> [FuncDecl] -> [FuncDecl]
usedFunctions _ [] = []
usedFunctions usedfns (fdecl : fdecls)
  | funcName fdecl `elem` usedfns
  = fdecl : usedFunctions (union (funcsOfFuncDecl fdecl) usedfns) fdecls
  | otherwise
  = usedFunctions usedfns fdecls
demand:
 argument 2
deterministic:
 deterministic operation
documentation:
 
Removes from a list of function declarations the functions not used
by an initial list of function names.
It is assumed that the list of functions is already sorted by
dependencies (ealier functions might call later ones).
failfree:
 (_, _)
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,{[]}) |-> {[]} || (_,{:}) |-> {:,[]}}
name:
 usedFunctions
precedence:
 no precedence defined
result-values:
 {:,[]}
signature:
 [(String, String)] -> [FlatCurry.Types.FuncDecl] -> [FlatCurry.Types.FuncDecl]
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term