The mtlx package
A monad transformer library with type indexes, which allows the programmer to get a distinct copy of one of the monads without reproducing definitions and instances. It currently supports IdentityX, ReaderX, StateX, WriterX, RWSX, and ErrorX monads (and their transformer versions). All these copies can be combined into a transformer stack, including any of the original mtl monads. Inspired by the original mtl. That library was inspired by the paper /Functional Programming with Overloading and Higher-Order Polymorphism/, by Mark P Jones (http://web.cecs.pdx.edu/~mpj/pubs/springschool.html), Advanced School of Functional Programming, 1995. See the Examples.hs file for usage.
Properties
| Versions | 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6 |
|---|---|
| Dependencies | base (4.*), mtl, QuickCheck (≥2.4.1.1) |
| License | BSD3 |
| Author | Mark Snyder |
| Maintainer | marks@ittc.ku.edu |
| Category | Control |
| Upload date | Mon Oct 15 23:15:01 UTC 2012 |
| Uploaded by | MarkSnyder |
| Build failure | ghc-7.6 (log) |
Modules
- Control
- Monad
- Control.Monad.ErrorX
- Control.Monad.ErrorX.Class
- Control.Monad.IdentityX
- Control.Monad.Index
- Control.Monad.RWSX
- Control.Monad.RWSX.Class
- Control.Monad.RWSX.Lazy
- Control.Monad.RWSX.Strict
- Control.Monad.ReaderX
- Control.Monad.ReaderX.Class
- Control.Monad.StateX
- Control.Monad.StateX.Class
- Control.Monad.StateX.Lazy
- Control.Monad.StateX.Strict
- Control.Monad.WriterX
- Control.Monad.WriterX.Class
- Control.Monad.WriterX.Lazy
- Control.Monad.WriterX.Strict
- Control.Monad.ErrorX
- Monad
Downloads
- mtlx-0.1.6.tar.gz (Cabal source package)
- package description (included in the package)