The monad-task package

[Tags:bsd3, library]

Task monad transformer can help refactor event and callback heavy programs into monads via co-routines. The idea is loosely based on Combining Events And Threads For Scalable Network Services, by Peng Li and Steve Zdancewic, in PLDI, 2007. (, but with deterministic and co-oprative lightweight threads, also known as co-routines, so that the base monad can be anything ranging from IO to state monads, or your favorite monad transformer stack.

[Skip to Readme]


Versions 0.1.0
Dependencies base (<6), mtl (==2.*), transformers (<0.4) [details]
License BSD3
Author Paul Liu
Maintainer Paul Liu <>
Stability experimental
Category Control
Home page
Source repository head: git clone git://
Uploaded Fri Aug 31 06:30:02 UTC 2012 by PaulLiu
Distributions NixOS:0.1.0
Downloads 345 total (4 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for monad-task

Readme for monad-task-0.1.0


Task monad transformer that turns event processing into co-routine programming.

See Invert the Inversion of Control for a tutorial on writing a GLFW/OpenGL application using task monad.