I've recently taken a course in distributed computing where we learned about distributed algorithms for problems such as consensus, leader election, etc, and now I would like to implement some of them. These distributed algorithms are designed for a system where you have a bunch of independent processes: each one is running an instance of the given algorithm, and the processes can communicate with each other by sending messages (across the network). These messages contain some serialized data; "fancy" features like RPC aren't that interesting too me.
Are there any reasonably stable frameworks for implementing such message-passing kind of algorithms in higher level languages like Python, Haskell, Clojure etc.? (I'm aware of Cloud Haskell but it seems pretty alpha at this point.)