David,

On 21/03/2011, at 4:18 PM, 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.

Indeed. Take a look here:

http://www.haskell.org/haskellwiki/Research_papers/Monads_and_arrows#Arrows

In particular, "ProdArrows -- Arrows for Fudgets" by Magnus Carlsson.

cheers
peter

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to