I was wondering if it was possible to implement synchronous channels
within STM. In particular, I'd like to have CSP-like send and recv primitives
on a channel that each block until the other side arrives to complete
the transaction.
I did experiment with the actors model (in theory a superset of CSP I believe) in haskell at one stage. Hopefully it will be of some use/interest to you.