CurryInfo: rw-data-generator-2.0.0 / RW.Generator.containsFunction

definition:
containsFunction :: CTypeDecl -> Bool
containsFunction td =
  case td of
    (CType _ _ _ cds _) -> any cf_ConsDecl cds
    (CTypeSyn {})       -> False
 where
  cf_ConsDecl cd = case cd of
    (CCons _ _ tes)   -> any cf_TypeExpr tes
    (CRecord _ _ fds) -> any cf_FieldDecl fds
  cf_FieldDecl (CField _ _ te) = cf_TypeExpr te
  cf_TypeExpr te = case te of
    (CTCons _)        -> False
    (CFuncType {})    -> True
    (CTApply te1 te2) -> cf_TypeExpr te1 || cf_TypeExpr te2
    _                 -> False
demand:
argument 1
deterministic:
deterministic operation
documentation:
--- Returns true iff the type declaration contains functional types.
failfree:
{CType,CTypeSyn}
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({CType}) |-> _ || ({CTypeSyn}) |-> {False}}
name:
containsFunction
precedence:
no precedence defined
result-values:
_
signature:
AbstractCurry.Types.CTypeDecl -> Prelude.Bool
solution-complete:
operation might suspend on free variables
terminating:
yes
totally-defined:
possibly non-reducible on same data term