2014-11-23 13:51:34 +01:00
|
|
|
A portable library of functor and monad transformers, inspired by the paper
|
|
|
|
"Functional Programming with Overloading and Higher-Order Polymorphism",
|
|
|
|
by Mark P Jones, in Advanced School of Functional Programming, 1995
|
2014-05-15 23:15:38 +02:00
|
|
|
(http://web.cecs.pdx.edu/~mpj/pubs/springschool.html).
|
|
|
|
|
2014-11-23 13:51:34 +01:00
|
|
|
This package contains:
|
|
|
|
* the monad transformer class (in Control.Monad.Trans.Class) and
|
|
|
|
IO monad class (in Control.Monad.IO.Class)
|
|
|
|
* concrete functor and monad transformers, each with associated operations and
|
|
|
|
functions to lift operations associated with other transformers.
|
|
|
|
|
|
|
|
The package can be used on its own in portable Haskell code, in which case
|
|
|
|
operations need to be manually lifted through transformer stacks
|
|
|
|
(see Control.Monad.Trans.Class for some examples). Alternatively, it can be used
|
|
|
|
with the non-portable monad classes in the mtl or monads-tf packages,
|
|
|
|
which automatically lift operations introduced by monad transformers through
|
|
|
|
other transformers.
|