CurryInfo: icurry-3.2.0 / ICurry.Interpreter.evalFun

definition: Info
 
evalFun :: IProg -> String -> [String]
evalFun (IProg _ _ _ ifuns) f =
  let (g,ni) = addNode (FuncNode f []) emptyGraph
  in evaluate (initState ifuns g ni)
 where
  evaluate st
    | null (tasks st) = []
    | otherwise
    = let st' = step st
      in maybe (evaluate st')
               (\nid -> showGraphExp (graph st') nid :
                        evaluate st' {currResult = Nothing})
               (currResult st')
demand: Info
 argument 1
deterministic: Info
 deterministic operation
documentation: Info
 
Evaluates a 0-ary function w.r.t. an ICurry program and returns
the list of all results formatted as strings.
Used for testing.
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {({IProg},_) |-> _}
name: Info
 evalFun
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 ICurry.Types.IProg -> String -> [String]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term