definition:
|
generateNode :: Bool -> NodeID -> [NodeID] -> (IG.NodeID, IG.Node) -> Node
generateNode labelNID activenid results (nid, node) =
Node
nodetype
nid
label
(IG.nodeChildren node)
(activenid == nid)
(nid `elem` results)
where
label = (IG.nodeLabel node) ++ if labelNID
then " (" ++ (show nid) ++ ")"
else ""
nodetype = case node of
IG.FuncNode _ _ -> FuncNode
IG.ConsNode _ _ -> ConsNode
IG.ChoiceNode _ _ _ -> ChoiceNode
IG.FreeNode -> FreeNode
IG.PartNode _ (IG.PartFuncCall _) _ -> FuncNode
IG.PartNode _ (IG.PartConsCall _) _ -> ConsNode
|
demand:
|
argument 4
|
deterministic:
|
deterministic operation
|
failfree:
|
(_, _, _, _)
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{(_,_,_,{(,)}) |-> {Node}}
|
name:
|
generateNode
|
precedence:
|
no precedence defined
|
result-values:
|
{Node}
|
signature:
|
Prelude.Bool -> Prelude.Int -> [Prelude.Int] -> (Prelude.Int, ICurry.Graph.Node)
-> Node
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|