CurryInfo: bpmn2bpel-3.1.0 / Grappa.chain

definition:
chain :: ((Node,Node) -> Grappa t a) -> (Node,Node) -> Grappa t [a]
chain p (n1,n2) = (:[]) <$> p (n1,n2)
chain p (n1,n2) = (:)   <$> p (n1,n) <*> chain p (n,n2)
 where n free
demand:
argument 2
deterministic:
possibly non-deterministic operation
documentation:
--- The combinator `chain p (n1,n2)` can be used to identify
--- a non-empty chain of graphs that can be parsed with `p`.
--- This chain has to be anchored between the nodes `n1` and `n2`.
failfree:
(_, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,{(,)}) |-> {<*>}}
name:
chain
precedence:
no precedence defined
result-values:
{<*>}
signature:
((Prelude.Int, Prelude.Int) -> [(a, [Prelude.Int])]
-> (b, [(a, [Prelude.Int])])) -> (Prelude.Int, Prelude.Int)
-> [(a, [Prelude.Int])] -> ([b], [(a, [Prelude.Int])])
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
reducible on all ground data terms