{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,28]],"date-time":"2026-02-28T01:56:46Z","timestamp":1772243806516,"version":"3.50.1"},"reference-count":0,"publisher":"IOS Press","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2008]]},"abstract":"<jats:p>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 &amp;ndash; 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.<\/jats:p>","DOI":"10.3233\/978-1-58603-907-3-67","type":"book-chapter","created":{"date-parts":[[2025,2,20]],"date-time":"2025-02-20T04:37:07Z","timestamp":1740026227000},"source":"Crossref","is-referenced-by-count":4,"title":["Communicating Haskell Processes: Composable Explicit Concurrency using Monads"],"prefix":"10.3233","author":[{"family":"Brown Neil C.C.","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"7437","container-title":["Concurrent Systems Engineering Series","Communicating Process Architectures 2008"],"original-title":[],"deposited":{"date-parts":[[2025,2,20]],"date-time":"2025-02-20T04:39:42Z","timestamp":1740026382000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.medra.org\/servlet\/aliasResolver?alias=iospressISSNISBN&issn=1383-7575&volume=66&spage=67"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008]]},"references-count":0,"URL":"https:\/\/doi.org\/10.3233\/978-1-58603-907-3-67","relation":{"is-cited-by":[{"id-type":"doi","id":"10.4204\/EPTCS.258.3","asserted-by":"object"}]},"ISSN":["1383-7575"],"issn-type":[{"value":"1383-7575","type":"print"}],"subject":[],"published":{"date-parts":[[2008]]}}}