CurryInfo: property-prover-2.0.0 / Inference.Simplification.freeVarsDup

definition:
freeVarsDup :: AExpr a -> [VarIndex]
freeVarsDup (AVar _ v) = [v]
freeVarsDup (ALit _ _) = []
freeVarsDup (AComb _ _ _ es) = concatMap freeVarsDup es
freeVarsDup (AFree _ vs e) = freeVarsDup e \\\ map fst vs
freeVarsDup (AOr _ e1 e2) = freeVarsDup e1 ++ freeVarsDup e2
freeVarsDup (ACase _ _ e bs) = concat (freeVarsDup e : map inBranch bs)
 where
  inBranch (ABranch p be) = freeVarsDup be \\\ map fst (patVars p)
freeVarsDup (ALet _ bs e) = concatMap freeVarsDup (e : es) \\\ map fst vs
 where
  (vs, es) = unzip bs
freeVarsDup (ATyped _ e _) = freeVarsDup e
demand:
argument 1
deterministic:
deterministic operation
documentation:
--- Get all free variables of an expression, with duplicates.
failfree:
_
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({AVar}) |-> {:} || ({ALit}) |-> {[]} || ({AComb}) |-> _ || ({AFree}) |-> {:,[]} || ({AOr}) |-> _ || ({ACase}) |-> _ || ({ALet}) |-> {:,[]} || ({ATyped}) |-> _}
name:
freeVarsDup
precedence:
no precedence defined
result-values:
_
signature:
FlatCurry.Annotated.Types.AExpr a -> [Prelude.Int]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
reducible on all ground data terms