¤ loopCompF, loopThroughBothF

Plumbing: circular connections


loopCompF :: F ((r2l  inl)  (l2r  inr)) ((l2r  outl)  (r2l  outr)) ->
             F (inl  inr) (outl  outr)
loopThroughBothF :: F (r2l  inl) (l2r  outl) ->
                    F (l2r  inr) (r2l  outr) -> F (inl  inr) (outl  outr)


loopCompF is a symmetric version of loopCompThroughRightF. When applied to a parallel composition of two fudgets it allows the fudgets to communicate both with the outside world and with each other.


  loopThroughBothSP sp1 sp2 = loopCompSP (sp1 >+< sp2)

See Also

Other loop combinators: loopCompThroughRightF et al.

Other combinators that operate on parallel compositions: serCompRightToLeftF et al.

The corresponding stream processor combinator: loopCompSP.

Parallel composition of fudgets: >+<


There should be an illustrative diagram.