CurryInfo: currycheck-4.0.0 / CurryCheck.generatorsOfProg

definition:
generatorsOfProg :: CurryProg -> [QName]
generatorsOfProg = map funcName . filter isGen . functions
 where
   isGen fdecl = "gen" `isPrefixOf` snd (funcName fdecl) &&
                 isSearchTreeType (resultType (typeOfQualType (funcType fdecl)))

   isSearchTreeType (CTVar _)        = False
   isSearchTreeType (CFuncType _ _)  = False
   isSearchTreeType (CTCons _)       = False
   isSearchTreeType te@(CTApply _ _) =
     maybe False ((==searchTreeTC) . fst) (tconsArgsOfType te)
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
-- Extracts all user-defined defined generators defined in a module.
indeterministic:
referentially transparent operation
infix:
no fixity defined
name:
generatorsOfProg
precedence:
no precedence defined
result-values:
{.._#lambda508}
signature:
AbstractCurry.Types.CurryProg -> [(String, String)]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
reducible on all ground data terms