© University of Kent - Contact | Feedback | Legal | FOI | Cookies
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}, }