Commit 09fb28ea authored by Michael Hanus 's avatar Michael Hanus

README updated

parent 1440f95d
......@@ -58,7 +58,12 @@ In the following, we describe various uses of the `icurry` tool.
With option `--interactive`, the ICurry interpreter stops after
each result and ask for a confirmation to proceed, which is useful
if their might be infinitely many results.
if their might be infinitely many results. For instance, the program
`BoolList.curry` in the `examples` directory defines the function
`main` which non-deterministically evaluates to any list of Booleans.
Hence, it is reasonable to execute it by
> icurry -m main --interactive BoolList
The ICurry interpreter can also visualize the term graph manipulated
during execution as a PDF generated by `dot`. If `icurry` is invoked by
......@@ -283,8 +283,9 @@ evalFirstTask st (Task (CNode nid) stk fp : tsks) =
[] -> case lookup cid fp of
Just c -> let ns = if c==1 then n1 else n2
in st { tasks = Task (CNode ns) stk fp : tsks }
Nothing -> st { tasks = tsks ++ [Task (CNode n1) [] ((cid,1) : fp),
Task (CNode n2) [] ((cid,2) : fp)] }
Nothing -> let newtasks = [Task (CNode n1) [] ((cid,1) : fp),
Task (CNode n2) [] ((cid,2) : fp)]
in st { tasks = tsks ++ newtasks }
((fnid,di) : nids) -> -- pull-tab step:
let g0 = graph st in
case lookupNode fnid g0 of
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment