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
|