The monad-task package

[ Tags: bsd3, control, library ] [ Propose Tags ]

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, 0.2.0
Dependencies base (<6), mtl (==2.*), transformers (<0.4) [details]
License BSD3
Author Paul Liu
Maintainer Paul Liu <>
Category Control
Home page
Source repo head: git clone git://
Uploaded Fri Aug 31 06:30:02 UTC 2012 by PaulLiu
Distributions NixOS:0.2.0
Downloads 613 total (17 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for monad-task-0.1.0

[back to package description]


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.