rmonad

Restricted monad library

Latest on Hackage:0.8.0.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed
Maintained by Ganesh Sittampalam

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.

darcs get http://code.haskell.org/rmonad

TODO

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

Add all the normal monad combinators

Should we use Monad etc rather than RMonad etc for naming?
- Pro: standard modern namespacing conventions
- Anti: Module names need to be different to allow co-existence

Do we actually want RApplicative etc? Nasty because most restrictions aren't much use on function types
DSELs are a good example of where Suitable could be closed over function types
Used by 1 package:
comments powered byDisqus