On 2011-03-21 01:18, David Barbour wrote: > I was giving Control.Arrow a try for a reactive programming system. > The arrows are agents that communicate by sending and returning > time-varying state. Different agents may live in different 'vats' > (event-driven threads) to roughly model distributed computing. For the > most part, the state varies asynchronously - i.e. a file updates at a > different rate than the mouse position. Anyhow, I ran into a problem: > The (***) and (&&&) operations, as specified in Control.Arrow, are > inherently synchronization points.
Hughes's remark in his original paper may be relevant: "In a deep sense, then, the Either type behaves more like a product than the pair type does, when we work with stream processors. And indeed, a channel carrying a sum type corresponds much more closely to a pair of channels than does a channel carrying pairs." _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
