loopThroughRightSP :: SP (a1 ⊕ a2) (a3 ⊕ b) -> SP a3 a1 -> SP a2 b
loopThroughRightSP
is a variation of the loop combinators that has turned out to be
useful when re-using stream processors. loopThroughRightSP
spnew spold
connects
two stream processors as shown in the diagram below:
The loop obtained with
is like the loop obtained
with loopThroughRightSP
spnew spoldloopLeftSP spnew
, with the addition that the loop goes
through spold
. spold
can only communicate with the
outside world by going via spnew
and is in this sense
encapsulated inside spnew
.
The corresponding fudget combinator: loopThroughRightF.