@hackage rmonad0.5

Restricted monad library

  • Categories

    • License

      BSD-3-Clause

    • Maintainer

      Ganesh Sittampalam <ganesh@earth.li>

    • Versions

    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