On 20 May 2008, at 3:16 pm, Alaric Snell-Pym wrote:
IIRC there's more to it than that. As well as passing messages back and forth, Erlang also has mechanisms for passing uncaught exceptions in the top-levels of processes back to processes waiting for messages from that process... or something like that. Something that prevents deadlock situations where a client thread is waiting for a response from a server thread that dies, without extra programmer effort, anyway.
I now can't find any reference to this thing - I may be mistaken :-) The closest I've come is: http://www.erlang.org/doc/reference_manual/processes.html#10.7 So it looks like the 'fun features' of Erlang's concurrency system compared to what I know of MPI are: 1) Dynamic spawn-arbitrary-process-on-arbitary-node distributed functionality 2) Hot code loading: http://en.wikipedia.org/wiki/Erlang_% 28programming_language%29#Hot_code_loading_and_modules 3) Ease of building monitoring systems by being able to register to receive termination notices of processes However, MPI has loads of tools for distributed numerical algorithms! Lots of group communication stuff, the cartesian topology stuff I don't really understand, etc. I think Erlang's model is more aimed towards highly dynamic client/ server transaction processing stuff (like most Internet applications), while MPI is hot for doing giant matrix operations and predicting the weather. ABS -- Alaric Snell-Pym Work: http://www.snell-systems.co.uk/ Play: http://www.snell-pym.org.uk/alaric/ Blog: http://www.snell-pym.org.uk/?author=4 _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users