| 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-Inferred |
| Language | Haskell2010 |
Control.Lens.Action.Internal
Contents
Description
Synopsis
- class (Monad m, Functor f, Contravariant f) => Effective m r f | f -> m r where
- effective :: m r -> f a
- ineffective :: f a -> m r
- newtype Effect m r a = Effect {
- getEffect :: m r
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.
Instances
| Monad m => Effective m r (Effect m r) Source # | |
Defined in Control.Lens.Action.Internal | |
| Effective m r f => Effective m r (AlongsideRight f b) Source # | |
Defined in Control.Lens.Action.Internal Methods effective :: m r -> AlongsideRight f b a Source # ineffective :: AlongsideRight f b a -> m r Source # | |
| Effective m r f => Effective m r (AlongsideLeft f b) Source # | |
Defined in Control.Lens.Action.Internal Methods effective :: m r -> AlongsideLeft f b a Source # ineffective :: AlongsideLeft f b a -> m r Source # | |
| Effective Identity r (Const r :: Type -> Type) Source # | |
| Effective m r f => Effective m (Dual r) (Backwards f) Source # | |
Wrap a monadic effect with a phantom type argument.
Instances
| Monad m => Effective m r (Effect m r) Source # | |
Defined in Control.Lens.Action.Internal | |
| Functor (Effect m r) Source # | |
| (Monad m, Monoid r) => Applicative (Effect m r) Source # | |
Defined in Control.Lens.Action.Internal | |
| Contravariant (Effect m r) Source # | |
| (Apply m, Semigroup r) => Apply (Effect m r) Source # | |
| (Apply m, Semigroup r) => Semigroup (Effect m r a) Source # | |
| (Apply m, Monad m, Monoid r) => Monoid (Effect m r a) Source # | |