| How do I write parallel or in Concurrent Haskell, without using unsafe
| features?  So I want a function
|    por :: a -> a -> a
| which takes two (presumably unevaluated) parameters and evaluates them
| concurrently and returns if either of them returns. 

In Concurrent Haskell, with asynchronous exceptions, it's no problem to have

        por :: a -> a -> IO (Either a a)

(see our recent paper).

but in pure Haskell you are in trouble with non-determinism

Simon


Reply via email to