School of Computing

Communicating haskell processes: Composable explicit concurrency using monads

Neil C.C. Brown

In Peter H. Welch, Susan Stepney, Fiona A.C. Polack, Frederick R.M. Barnes, Alistair A. McEwan, Gardner S. Stiles, Jan F. Broenink, and Adam T. Sampson, editors, Communicating Process Architectures 2008, volume 66 of Concurrent Systems Engineering, pages 182-196, Amsterdam, The Netherlands, September 2008. WoTUG, IOS Press.

Abstract

Writing concurrent programs in languages that lack explicit support for concurrency can often be awkward and difficult. Haskell'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.

Download publication 161 kbytes (PDF)

Bibtex Record

@inproceedings{2914,
author = {Neil C.C. Brown},
title = {Communicating Haskell Processes: Composable Explicit Concurrency Using Monads},
month = {September},
year = {2008},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2008/2914},
    publication_type = {inproceedings},
    submission_id = {4810_1243431547},
    ISBN = {978-1-58603-907-3},
    booktitle = {Communicating Process Architectures 2008},
    editor = {Peter H. Welch and Susan Stepney and Fiona A.C. Polack and Frederick R.M. Barnes and Alistair A. McEwan and Gardner S. Stiles and Jan F. Broenink and Adam T. Sampson},
    volume = {66},
    series = {Concurrent Systems Engineering},
    address = {Amsterdam, The Netherlands},
    organization = {WoTUG},
    publisher = {IOS Press},
    ISSN = {1383-7575},
    refereed = {yes},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014