Copyright | (C) 2012-2014 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | non-portable |
Safe Haskell | Safe |
Language | Haskell98 |
Actions
class (Monad m, Functor f, Contravariant f) => Effective m r f | f -> m r where Source #
An Effective
Functor
ignores its argument and is isomorphic to a Monad
wrapped around a value.
That said, the Monad
is possibly rather unrelated to any Applicative
structure.
Wrap a monadic effect with a phantom type argument.
Monad m => Effective m r (Effect m r) Source # | |
Functor (Effect m r) Source # | |
(Monad m, Monoid r) => Applicative (Effect m r) Source # | |
Contravariant (Effect m r) Source # | |
(Apply m, Semigroup r) => Apply (Effect m r) Source # | |
(Apply m, Semigroup r) => Semigroup (Effect m r a) Source # | |
(Monad m, Monoid r) => Monoid (Effect m r a) Source # | |