Hi Bruce, On Mon, Sep 8, 2008 at 21:33, Bruce Eckel <[EMAIL PROTECTED]> wrote: > I know that both Haskell and Erlang only allow separated memory spaces > with message passing between processes, and they seem to be able to > solve a large range of problems -- but are there problems that they > cannot solve?
Modern Haskell has shared memory variables, so that statement "[Haskell] only allows seperated memory spaces..." is not true in practice. In fact, Haskell probably has the (semantically) cleanest and best implementation of STM (Software Transactional Memory) there is imho, which removes most of the headaches of shared memory based concurrency without sacrificing shared memory itself. As for the question "Is there something that the Actor model cannot do but you can with shared memory?", I'd say the answer is probably no. After all, you could just simulate shared memory by having one actor manage all "shared" state. > I recently listened to an interview with Simon > Peyton-Jones where he seemed to suggest that this newsgroup might be a > helpful place to answer such questions. Thanks for any insights -- it > would be especially useful if I can point to some kind of proof one > way or another. I may be completely missing your point, and if so I apologize, but does the simulation argument above suffice as a proof? cheers, Arnar _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe