MonadCompose
Version 0.6.0.0 revision 0 uploaded by JamesCandy.
Package meta
- Synopsis
- Methods for composing monads.
- Description
Methods for composing monads. The IO monad transformer solves the problem of combining two IO-performing monad transformers, so that neither one needs to provide a MonadIO interface, and both can be transformed separately. Most known monads have a distributive law. The Distributive module implements distributivity for monad transformers. A monad transformer can transform another monad, but if you have two monads both lacking a transformer, there is little you can do in general. However, you can compose them in a coproduct construction. The PlusMonad module implements a similar plan, but differs from coproducts in that it doesn't compress together contiguous uses of a monad. Another mystery is how to get the other distributive law (m(x + y) -> mx + my). I would like the auto-lifter and the Plus monad to work together, but I can't figure out how to coax IncoherentInstances to support it.
- Author
- James Candy
- Bug reports
- n/a
- Category
- Monad
- Copyright
- n/a
- Homepage
- http://alkalisoftware.net
- Maintainer
- info@alkalisoftware.net
- Package URL
- n/a
- Stability
- n/a