CurryInfo: flatcurry-annotated-3.3.0 / FlatCurry.Annotated.Goodies.letBinds

definition:
letBinds :: AExpr a -> [((VarIndex, a), AExpr a)]
letBinds aexpr = case aexpr of
  (ALet _ vs _) -> vs
  _             -> error "AnnotatedFlatCurryGoodies.letBinds: no let declaration"
demand:
argument 1
deterministic:
deterministic operation
documentation:
--- get indices of variables in let declaration
failfree:
_
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({ALet}) |-> _ || ({AVar}) |-> _ || ({ALit}) |-> _ || ({AComb}) |-> _ || ({AFree}) |-> _ || ({AOr}) |-> _ || ({ACase}) |-> _ || ({ATyped}) |-> _}
name:
letBinds
precedence:
no precedence defined
result-values:
_
signature:
FlatCurry.Annotated.Types.AExpr a
-> [((Prelude.Int, a), FlatCurry.Annotated.Types.AExpr a)]
solution-complete:
operation might suspend on free variables
terminating:
yes
totally-defined:
reducible on all ground data terms