Copyright | (C) 2012-2016 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Control.Lens.Internal.Zoom
Description
Synopsis
- newtype Focusing m s a = Focusing {
- unfocusing :: m (s, a)
- newtype FocusingWith w m s a = FocusingWith {
- unfocusingWith :: m (s, a, w)
- newtype FocusingPlus w k s a = FocusingPlus {
- unfocusingPlus :: k (s, w) a
- newtype FocusingOn f k s a = FocusingOn {
- unfocusingOn :: k (f s) a
- newtype FocusingMay k s a = FocusingMay {
- unfocusingMay :: k (May s) a
- newtype May a = May {
- getMay :: Maybe a
- newtype FocusingErr e k s a = FocusingErr {
- unfocusingErr :: k (Err e s) a
- newtype Err e a = Err {
- getErr :: Either e a
- newtype FocusingFree f m k s a = FocusingFree {
- unfocusingFree :: k (Freed f m s) a
- newtype Freed f m a = Freed {}
- newtype Effect m r a = Effect {
- getEffect :: m r
- newtype EffectRWS w st m s a = EffectRWS {
- getEffectRWS :: st -> m (s, st, w)
Zoom
newtype Focusing m s a Source #
Constructors
Focusing | |
Fields
|
Instances
Monad m => Functor (Focusing m s) Source # | |
(Monad m, Monoid s) => Applicative (Focusing m s) Source # | |
Defined in Control.Lens.Internal.Zoom | |
(Monad m, Semigroup s) => Apply (Focusing m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: Focusing m s (a -> b) -> Focusing m s a -> Focusing m s b Source # (.>) :: Focusing m s a -> Focusing m s b -> Focusing m s b Source # (<.) :: Focusing m s a -> Focusing m s b -> Focusing m s a Source # liftF2 :: (a -> b -> c) -> Focusing m s a -> Focusing m s b -> Focusing m s c Source # |
newtype FocusingWith w m s a Source #
Constructors
FocusingWith | |
Fields
|
Instances
Monad m => Functor (FocusingWith w m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods fmap :: (a -> b) -> FocusingWith w m s a -> FocusingWith w m s b # (<$) :: a -> FocusingWith w m s b -> FocusingWith w m s a # | |
(Monad m, Monoid s, Monoid w) => Applicative (FocusingWith w m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> FocusingWith w m s a (<*>) :: FocusingWith w m s (a -> b) -> FocusingWith w m s a -> FocusingWith w m s b liftA2 :: (a -> b -> c) -> FocusingWith w m s a -> FocusingWith w m s b -> FocusingWith w m s c (*>) :: FocusingWith w m s a -> FocusingWith w m s b -> FocusingWith w m s b (<*) :: FocusingWith w m s a -> FocusingWith w m s b -> FocusingWith w m s a | |
(Monad m, Semigroup s, Semigroup w) => Apply (FocusingWith w m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: FocusingWith w m s (a -> b) -> FocusingWith w m s a -> FocusingWith w m s b Source # (.>) :: FocusingWith w m s a -> FocusingWith w m s b -> FocusingWith w m s b Source # (<.) :: FocusingWith w m s a -> FocusingWith w m s b -> FocusingWith w m s a Source # liftF2 :: (a -> b -> c) -> FocusingWith w m s a -> FocusingWith w m s b -> FocusingWith w m s c Source # |
newtype FocusingPlus w k s a Source #
Constructors
FocusingPlus | |
Fields
|
Instances
Functor (k (s, w)) => Functor (FocusingPlus w k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods fmap :: (a -> b) -> FocusingPlus w k s a -> FocusingPlus w k s b # (<$) :: a -> FocusingPlus w k s b -> FocusingPlus w k s a # | |
Applicative (k (s, w)) => Applicative (FocusingPlus w k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> FocusingPlus w k s a (<*>) :: FocusingPlus w k s (a -> b) -> FocusingPlus w k s a -> FocusingPlus w k s b liftA2 :: (a -> b -> c) -> FocusingPlus w k s a -> FocusingPlus w k s b -> FocusingPlus w k s c (*>) :: FocusingPlus w k s a -> FocusingPlus w k s b -> FocusingPlus w k s b (<*) :: FocusingPlus w k s a -> FocusingPlus w k s b -> FocusingPlus w k s a | |
Apply (k (s, w)) => Apply (FocusingPlus w k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: FocusingPlus w k s (a -> b) -> FocusingPlus w k s a -> FocusingPlus w k s b Source # (.>) :: FocusingPlus w k s a -> FocusingPlus w k s b -> FocusingPlus w k s b Source # (<.) :: FocusingPlus w k s a -> FocusingPlus w k s b -> FocusingPlus w k s a Source # liftF2 :: (a -> b -> c) -> FocusingPlus w k s a -> FocusingPlus w k s b -> FocusingPlus w k s c Source # |
newtype FocusingOn f k s a Source #
Constructors
FocusingOn | |
Fields
|
Instances
Functor (k (f s)) => Functor (FocusingOn f k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods fmap :: (a -> b) -> FocusingOn f k s a -> FocusingOn f k s b # (<$) :: a -> FocusingOn f k s b -> FocusingOn f k s a # | |
Applicative (k (f s)) => Applicative (FocusingOn f k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> FocusingOn f k s a (<*>) :: FocusingOn f k s (a -> b) -> FocusingOn f k s a -> FocusingOn f k s b liftA2 :: (a -> b -> c) -> FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s c (*>) :: FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s b (<*) :: FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s a | |
Apply (k (f s)) => Apply (FocusingOn f k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: FocusingOn f k s (a -> b) -> FocusingOn f k s a -> FocusingOn f k s b Source # (.>) :: FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s b Source # (<.) :: FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s a Source # liftF2 :: (a -> b -> c) -> FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s c Source # |
newtype FocusingMay k s a Source #
Constructors
FocusingMay | |
Fields
|
Instances
Make a Monoid
out of Maybe
for error handling.
newtype FocusingErr e k s a Source #
Constructors
FocusingErr | |
Fields
|
Instances
Functor (k (Err e s)) => Functor (FocusingErr e k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods fmap :: (a -> b) -> FocusingErr e k s a -> FocusingErr e k s b # (<$) :: a -> FocusingErr e k s b -> FocusingErr e k s a # | |
Applicative (k (Err e s)) => Applicative (FocusingErr e k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> FocusingErr e k s a (<*>) :: FocusingErr e k s (a -> b) -> FocusingErr e k s a -> FocusingErr e k s b liftA2 :: (a -> b -> c) -> FocusingErr e k s a -> FocusingErr e k s b -> FocusingErr e k s c (*>) :: FocusingErr e k s a -> FocusingErr e k s b -> FocusingErr e k s b (<*) :: FocusingErr e k s a -> FocusingErr e k s b -> FocusingErr e k s a | |
Apply (k (Err e s)) => Apply (FocusingErr e k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: FocusingErr e k s (a -> b) -> FocusingErr e k s a -> FocusingErr e k s b Source # (.>) :: FocusingErr e k s a -> FocusingErr e k s b -> FocusingErr e k s b Source # (<.) :: FocusingErr e k s a -> FocusingErr e k s b -> FocusingErr e k s a Source # liftF2 :: (a -> b -> c) -> FocusingErr e k s a -> FocusingErr e k s b -> FocusingErr e k s c Source # |
Make a Monoid
out of Either
for error handling.
newtype FocusingFree f m k s a Source #
Constructors
FocusingFree | |
Fields
|
Instances
Functor (k (Freed f m s)) => Functor (FocusingFree f m k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods fmap :: (a -> b) -> FocusingFree f m k s a -> FocusingFree f m k s b # (<$) :: a -> FocusingFree f m k s b -> FocusingFree f m k s a # | |
Applicative (k (Freed f m s)) => Applicative (FocusingFree f m k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> FocusingFree f m k s a (<*>) :: FocusingFree f m k s (a -> b) -> FocusingFree f m k s a -> FocusingFree f m k s b liftA2 :: (a -> b -> c) -> FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s c (*>) :: FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s b (<*) :: FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s a | |
Apply (k (Freed f m s)) => Apply (FocusingFree f m k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: FocusingFree f m k s (a -> b) -> FocusingFree f m k s a -> FocusingFree f m k s b Source # (.>) :: FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s b Source # (<.) :: FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s a Source # liftF2 :: (a -> b -> c) -> FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s c Source # |
Make a Monoid
out of FreeF
for result collection.
Magnify
Wrap a monadic effect with a phantom type argument.
Instances
Functor (Effect m r) Source # | |
(Monad m, Monoid r) => Applicative (Effect m r) Source # | |
Defined in Control.Lens.Internal.Zoom | |
Contravariant (Effect m r) Source # | |
(Apply m, Semigroup r) => Apply (Effect m r) Source # | |
Defined in Control.Lens.Internal.Zoom | |
(Monad m, Semigroup r) => Semigroup (Effect m r a) Source # | |
(Monad m, Monoid r) => Monoid (Effect m r a) Source # | |
newtype EffectRWS w st m s a Source #
Wrap a monadic effect with a phantom type argument. Used when magnifying RWST
.
Constructors
EffectRWS | |
Fields
|
Instances
Functor (EffectRWS w st m s) Source # | |
(Monoid s, Monoid w, Monad m) => Applicative (EffectRWS w st m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> EffectRWS w st m s a (<*>) :: EffectRWS w st m s (a -> b) -> EffectRWS w st m s a -> EffectRWS w st m s b liftA2 :: (a -> b -> c) -> EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s c (*>) :: EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s b (<*) :: EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s a | |
Contravariant (EffectRWS w st m s) Source # | |
(Semigroup s, Semigroup w, Bind m) => Apply (EffectRWS w st m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods (<.>) :: EffectRWS w st m s (a -> b) -> EffectRWS w st m s a -> EffectRWS w st m s b Source # (.>) :: EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s b Source # (<.) :: EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s a Source # liftF2 :: (a -> b -> c) -> EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s c Source # |