CurryInfo: verify-non-fail-2.0.0 / Verify.NonFailConditions.genNonFailCond

definition:
genNonFailCond :: [(Int,TypeExpr)] -> Expr -> NonFailCond
genNonFailCond vts cond =
  let condvars = nub (allVars cond)
  -- restrict variables to occurrences in cond:
  in (filter ((`elem` condvars) . fst) vts, cond)
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- Generate a non-fail condition from a list of variables types
--- and a list of Boolean expressions.
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_) |-> {(,)}}
name:
genNonFailCond
precedence:
no precedence defined
result-values:
{(,)}
signature:
[(Prelude.Int, FlatCurry.Types.TypeExpr)] -> FlatCurry.Types.Expr
-> ([(Prelude.Int, FlatCurry.Types.TypeExpr)], FlatCurry.Types.Expr)
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term