name: mtlx version: 0.1.4 license: BSD3 license-file: LICENSE author: Mark Snyder maintainer: marks@ittc.ku.edu category: Control synopsis: Monad transformer library with type indexes, providing 'free' copies. description: 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 (), Advanced School of Functional Programming, 1995. See the Examples.hs file for usage. extra-source-files: Examples.hs, Control/Monad/ListX.hs build-type: Simple ghc-options: -Wall build-depends: base >= 4 && < 5, mtl exposed-modules: Control.Monad.Index Control.Monad.IdentityX 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 Control.Monad.ErrorX.Class extensions: MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, TypeSynonymInstances, OverlappingInstances