@MISC{Claessen99functionalpearls:, author = {Koen Claessen}, title = {Functional Pearls: A Poor Man's Concurrency Monad}, year = {1999} }
Share
OpenURL
Abstract
Without adding any primitives to the language, we define a concurrency monad transformer in Haskell. This allows us to add a limited form of concurrency to any existing monad. The atomic actions of the new monad are lifted actions of the underlying monad. Some extra operations, such as fork , to initiate new processes, are provided. We discuss the implementation, and use some examples to illustrate the usefulness of this construction.