%T Communicating Haskell Processes: Composable Explicit Concurrency Using Monads %A Neil C.C. Brown %E Peter H. Welch, S. Stepney, F.A.C Polack, Frederick R. M. Barnes, Alistair A. McEwan, G. S. Stiles, Jan F. Broenink, Adam T. Sampson %B Communicating Process Architectures 2008 %X Writing concurrent programs in languages that lack explicit support for concurrency can often be awkward and difficult. Haskell\[rs]s monads provide a way to explicitly specify sequence and effects in a functional language, and monadic combinators allow composition of monadic actions, for example via parallelism and choice — two core aspects of Communicating Sequential Processes (CSP).We show how the use of these combinators, and being able to express processes as first\-class types (monadic actions) allow for easy and elegant programming of process\-oriented concurrency in a new CSP library for Haskell: Communicating Haskell Processes.