The mtlx package

[Tags:bsd3, library]

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) [details]
License BSD3
Author Mark Snyder
Maintainer marks@ittc.ku.edu
Stability Unknown
Category Control
Uploaded Mon Oct 15 23:15:01 UTC 2012 by MarkSnyder
Distributions NixOS:0.1.6
Downloads 1381 total (14 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-13 [all 6 reports]

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees