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
|