CurryInfo: icurry-3.2.0 / ICurry.Interpreter.followPath

definition: Info
 
followPath :: Graph -> NodeID -> [Int] -> NodeID
followPath _ n [] = n
followPath g n (i:is) = case lookupNode n g of
  ConsNode _ ns      -> followPath g (selectArg ns) is
  FuncNode _ ns      -> followPath g (selectArg ns) is
  PartNode _ _ ns    -> followPath g (selectArg ns) is
  ChoiceNode _ n1 n2 -> followPath g (selectArg [n1,n2]) is
  FreeNode           -> error "followPath: FreeNode"
 where
  selectArg ns | i >= length ns = error "followPath: argument does not exist!"
               | otherwise      = ns !! i
demand: Info
 argument 3
deterministic: Info
 deterministic operation
documentation: Info
 
Follows a path from a given node.
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,{[]}) |-> _ || (_,_,{:}) |-> _}
name: Info
 followPath
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 ICurry.Graph.Graph -> Prelude.Int -> [Prelude.Int] -> Prelude.Int
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term