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
|