definition:
|
letBinds :: Expr -> [(Int,Expr)]
letBinds expr = case expr of
(Let vs _) -> vs
_ -> error "FlatCurryGoodies.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:
|
{({Let}) |-> _ || ({Var}) |-> _ || ({Lit}) |-> _ || ({Comb}) |-> _ || ({Free}) |-> _ || ({Or}) |-> _ || ({Case}) |-> _ || ({Typed}) |-> _}
|
name:
|
letBinds
|
precedence:
|
no precedence defined
|
result-values:
|
_
|
signature:
|
FlatCurry.Types.Expr -> [(Prelude.Int, FlatCurry.Types.Expr)]
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
yes
|
totally-defined:
|
reducible on all ground data terms
|