The rmonad package

[Tags: bsd3, library]

A library for restricted monads based on associated datatypes. This allows datatypes such as Set to be made into monads. Users can either use the NoImplicitPrelude extension and use Control.RMonad directly, or use Control.RMonad.AsMonad with the embed and unEmbed combinators to use the normal Prelude monad operations.


[Skip to ReadMe]

Properties

Versions0.1, 0.2, 0.3, 0.4, 0.4.1, 0.5, 0.6, 0.7, 0.8, 0.8.0.1, 0.8.0.2
Change logNone available
Dependenciesbase, containers [details]
LicenseBSD3
Copyright(c) 2008 Ganesh Sittampalam
MaintainerGanesh Sittampalam <ganesh@earth.li>
Stabilityprovisional
CategoryControl
UploadedSun Apr 13 12:06:19 UTC 2008 by GaneshSittampalam
Downloads2102 total (92 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for rmonad-0.1

rmonad provides a restricted monad class in the Control.RMonad hierarchy.
The class makes use of associated datatypes (available in GHC 6.8),
using an idea learnt from Wolfgang Jeltsch:
http://www.haskell.org/pipermail/haskell-cafe/2008-March/041084.html

It also provides a way to treat a restricted monad as a normal monad
using a generic wrapper type. This idea is described here:
http://hsenag.livejournal.com/11803.html?nc=5

See the haddock documentation for information on how to use it.

TODO

Add instances for all the mtl stuff. Consider also doing this for mtl-tf
(namespacing issues?)