Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Searching for deadlocks while debugging concurrent haskell programs
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Lightweight concurrency primitives for GHC
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
ATC'07 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference
Lwt: a cooperative thread library
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
Achieving information flow security through monadic control of effects
Journal of Computer Security - 18th IEEE Computer Security Foundations Symposium (CSF 18)
Towards a strongly typed functional operating system
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Extending monads with pattern matching
Proceedings of the 4th ACM symposium on Haskell
A monad for deterministic parallelism
Proceedings of the 4th ACM symposium on Haskell
Expressive array constructs in an embedded GPU kernel programming language
DAMP '12 Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming
CALCO'05 Proceedings of the First international conference on Algebra and Coalgebra in Computer Science
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
A high-level implementation of composable memory transactions in concurrent haskell
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
A meta-scheduler for the par-monad: composable scheduling for the heterogeneous cloud
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Implementing a high-level distributed-memory parallel haskell in haskell
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
A coinductive calculus for asynchronous side-effecting processes
Information and Computation
QEMU/CPC: static analysis and CPS conversion for safe, portable, and efficient coroutines
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
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.