Ok, so you can now do this: (s1, s2) |-> (t1,t2)
This can be used to: (a) connect two sources to two transducers to make two new sources (b) connect two pairs of transducers to get a new pair or transducers (c) connect two transducers to two sinks to get two sinks (d) connect two sources to two sinks to get a SINGLE pipeline I expect |-> and , to obey a distributive law: (a,b) |-> (c,d) === (a |-> c, b |-> d) In other words, joining two things in parallel is the same as joining them separately then pairing them up. The exception is (d) which makes a single pipeline. Still sorting out details. This works: ///////////////////////// var s1, s2 = tee (src, xduce 1, xduce 2); //spawn_fthread$ s1 |-> sink; //spawn_fthread$ s2 |-> sink; spawn_fthread$ (s1,s2) |-> (sink,sink); /////////////////////////// Please note that uncommenting the two individual pipeline runs causes the parallel pipeline to fail (well it does nothing). Sources are intrinsically non-reusable. Anyhow the idea here is that with tee you can do this: s1 |-> tee |-> ( pipline1, pipeline2) ; Since each nested pipeline can also have tees in it, we have a tree (binary tree anyhow). -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language