CurryInfo: icurry-3.2.0 / FlatCurry.CaseLifting.liftTopFun

definition:
liftTopFun :: FuncDecl -> LiftingState [FuncDecl]
liftTopFun (Func fn ar vis texp rule) = do
  st0 <- get
  put st0 { currFunc = snd fn, currIndex = 0 }
  nrule <- liftRule rule
  st <- get
  put st { liftFuncs = [] }
  return $ Func fn ar vis texp nrule : liftFuncs st
demand:
argument 1
deterministic:
deterministic operation
documentation:
-- Lift top-level function.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({Func}) |-> _}
name:
liftTopFun
precedence:
no precedence defined
result-values:
_
signature:
FlatCurry.Types.FuncDecl
-> Control.Monad.Trans.State.StateT LiftState Data.Functor.Identity.Identity [FlatCurry.Types.FuncDecl]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term