definition: |
runWith :: IOptions -> State -> [TG.State] -> IO (IOptions, [TG.State]) runWith opts st states | optMaxSteps (icOptions opts) == length states = do printState opts st return (opts, states) | null (tasks st) = do printState opts st let nstates = addTGState (icOptions opts) st states return (opts, nstates) | otherwise = do printState opts st let nstates = addTGState (icOptions opts) st states procstep <- if optVerb (icOptions opts) > 0 then askProceed opts else return True if not procstep then return (opts, nstates) else do let num = stepNum opts nopts = if num==0 then opts else opts { stepNum = num + 1 } nst = step st maybe (runWith nopts nst nstates) (\nid -> do putStrLn $ "RESULT: " ++ showGraphExp (graph nst) nid proceed <- askProceed opts if proceed then runWith nopts (nst {currResult = Nothing}) nstates else return (opts, nstates)) (currResult nst) |
demand: |
no demanded arguments |
deterministic: |
deterministic operation |
failfree: |
<FAILING> |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
iotype: |
{(_,_,_) |-> _} |
name: |
runWith |
precedence: |
no precedence defined |
result-values: |
_ |
signature: |
IOptions -> State -> [TermGraph.XML.State] -> Prelude.IO (IOptions, [TermGraph.XML.State]) |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |