monad-task: A monad transformer that turns event processing into co-routine programming.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

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. (http://www.cis.upenn.edu/~stevez/papers/abstracts.html#LZ07), but with deterministic and co-operative 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]

Properties

Versions0.1.0, 0.2.0, 0.2.0
Change logChangelog.txt
Dependenciesbase (<6), mtl (==2.*), transformers (>0.4 && <0.6) [details]
LicenseBSD-3-Clause
AuthorPaul Liu
MaintainerPaul Liu <paul@thev.net>
CategoryControl
Home pagehttp://github.com/ninegua/monad-task
Source repositoryhead: git clone git://github.com/ninegua/monad-task.git
UploadedThu Jan 4 02:40:11 UTC 2018 by PaulLiu

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for monad-task-0.2.0

[back to package description]

monad-task

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.