Shared publicly  - 
I spent a little time this morning gardening the wiki page for Haskell parallelism and concurrency libraries. It goes all the way from parallel arrays on GPU to Erlang style distributed programming with Cloud Haskell.

Check it out (and edit away!)
Concurrent and Parallel Programming. Haskell has been designed for parallel and concurrent programming since its inception. In particular, Haskell's purity greatly simplifies reasoning about paral...
Mats Rauhala's profile photoEric Kow's profile photoBen Ford's profile photoEdsko de Vries's profile photo
Eric, what's the status of cloud haskell vs distributed process? I've seen distributed process described as the successor to cloud haskell, but the former is still getting committed to?
distributed-process is an complete reimplementation of the remote package and is currently in very early stages and won't replace the remote package for a while yet. Currently we are separating the "Cloud Haskell" layer from an intermediate "Network Transport" layer so that we will be able to run Cloud Haskell on top of TCP/UDP/CCI/etc.
Hi Edsko, thanks for the update. Yes I had a poke through the design docs. How much interest is there in having a ØMQ transport? I'm a bit of a haskell noob but thought it would be fun to have a go at implementing.

edit will distributed-process still be using the CH concept of serializable closures created with template haskell?
Re ØMQ: sure! I would hold off a little longer though, the Transport API itself is still in flux. But once that stabilises it would be cool to have a ØMQ transport.

Re the use of template haskell: I don't know yet. I hope not, but we'll have to see.
I can save you some work in implementing ZMQ transport from scratch, I have an attoparsec-backed implementation which can send/receive messages. Still working on the higher-level ZMQ ideas but this is somewhere to look. Check out the code:
I was thinking of using the FFI package to be honest! What would be the benefits of using the native ZMQ implementation?? Apart from fun :-)
What's the high-level difference between cloud haskell and distributed process?
+Mats Rauhala distributed-process is aimed at being a new implementation of Cloud Haskell (the first implementation was called “remote” and can already be installed from Hackage). Among other things, distributed-process features a swappable network transport layer.
Hi +Ben Ford , if you are still interested in implementing a ZeroMQ transport then the transport API is now in a state where you could start looking at this. There might still be some changes but hopefully nothing major. Feel free to contact me if you have any questions.
Great, I'll have a bash at it and ping you if (when) I get any problems.
Add a comment...