
Don Stewart
Redirecting to haskell-cafe@, where this kind of long discussion belongs.
Answering to Mike Meyer here, because it has been requested multiple times that we move the discussion to the cafe. What you described about Eiffel didn't sound very different from what Haskell does, but in Haskell the OOP part is missing. You can very well pass MVars as arguments to a concurrent thread. This is the usual way to tell a thread to do something and wait for its answer. Of course you don't have to wait right away. You can command multiple threads to do something and then collect the answers pretty straightforwardly both with little programming and with little execution overhead. However, as STM gains more popularity you generally don't use the old fashioned command/wait concept. You would rather have a certain number of threads running all the time and communicating through transactions in variables. Threads with shorter lifetimes (for example for client connections) would not know about the other threads. They just know about the variables they need to use. Greets, Ertugrul -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/