| 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 :: Type -> Type) s a = Focusing {
- unfocusing :: m (s, a)
- newtype FocusingWith w (m :: Type -> Type) s a = FocusingWith {
- unfocusingWith :: m (s, a, w)
- newtype FocusingPlus w (k :: Type -> Type -> Type) s a = FocusingPlus {
- unfocusingPlus :: k (s, w) a
- newtype FocusingOn (f :: Type -> Type) (k :: Type -> Type -> Type) s a = FocusingOn {
- unfocusingOn :: k (f s) a
- newtype FocusingMay (k :: Type -> Type -> Type) s a = FocusingMay {
- unfocusingMay :: k (May s) a
- newtype May a = May {}
- newtype FocusingErr e (k :: Type -> Type -> Type) s a = FocusingErr {
- unfocusingErr :: k (Err e s) a
- newtype Err e a = Err {}
- newtype FocusingFree (f :: Type -> Type) (m :: Type -> Type) (k :: Type -> Type -> Type) s a = FocusingFree {
- unfocusingFree :: k (Freed f m s) a
- newtype Freed (f :: Type -> Type) (m :: Type -> Type) a = Freed {
- getFreed :: FreeF f a (FreeT f m a)
- newtype Effect (m :: Type -> Type) r a = Effect {
- getEffect :: m r
- newtype EffectRWS w st (m :: Type -> Type) s a = EffectRWS {
- getEffectRWS :: st -> m (s, st, w)
Zoom
newtype Focusing (m :: Type -> Type) s a Source #
Constructors
| Focusing | |
Fields
| |
Instances
| (Monad m, Monoid s) => Applicative (Focusing m s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> Focusing m s a Source # (<*>) :: Focusing m s (a -> b) -> Focusing m s a -> Focusing m s b Source # liftA2 :: (a -> b -> c) -> Focusing m s a -> Focusing m s b -> Focusing m s c 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 # | |
| Monad m => Functor (Focusing m s) Source # | |
| (Monad m, Semigroup s) => Apply (Focusing m s) Source # | |
Defined in Control.Lens.Internal.Zoom | |
newtype FocusingWith w (m :: Type -> Type) s a Source #
Constructors
| FocusingWith | |
Fields
| |
Instances
newtype FocusingPlus w (k :: Type -> Type -> Type) s a Source #
Constructors
| FocusingPlus | |
Fields
| |
Instances
newtype FocusingOn (f :: Type -> Type) (k :: Type -> Type -> Type) s a Source #
Constructors
| FocusingOn | |
Fields
| |
Instances
| Applicative (k (f s)) => Applicative (FocusingOn f k s) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> FocusingOn f k s a Source # (<*>) :: FocusingOn f k s (a -> b) -> FocusingOn f k s a -> FocusingOn f k s b Source # liftA2 :: (a -> b -> c) -> FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s c 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 # | |
| 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 Source # (<$) :: a -> FocusingOn f k s b -> FocusingOn f k s a Source # | |
| 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 (.>) :: 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 liftF2 :: (a -> b -> c) -> FocusingOn f k s a -> FocusingOn f k s b -> FocusingOn f k s c | |
newtype FocusingMay (k :: Type -> Type -> Type) s a Source #
Constructors
| FocusingMay | |
Fields
| |
Instances
newtype FocusingErr e (k :: Type -> Type -> Type) s a Source #
Constructors
| FocusingErr | |
Fields
| |
Instances
newtype FocusingFree (f :: Type -> Type) (m :: Type -> Type) (k :: Type -> Type -> Type) s a Source #
Constructors
| FocusingFree | |
Fields
| |
Instances
| 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 Source # (<*>) :: FocusingFree f m k s (a -> b) -> FocusingFree f m k s a -> FocusingFree f m k s b Source # liftA2 :: (a -> b -> c) -> FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s c 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 # | |
| 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 Source # (<$) :: a -> FocusingFree f m k s b -> FocusingFree f m k s a Source # | |
| 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 (.>) :: 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 liftF2 :: (a -> b -> c) -> FocusingFree f m k s a -> FocusingFree f m k s b -> FocusingFree f m k s c | |
newtype Freed (f :: Type -> Type) (m :: Type -> Type) a Source #
Make a Monoid out of FreeF for result collection.
Magnify
newtype Effect (m :: Type -> Type) r a Source #
Wrap a monadic effect with a phantom type argument.
Instances
| Contravariant (Effect m r) Source # | |
| (Monad m, Monoid r) => Applicative (Effect m r) Source # | |
Defined in Control.Lens.Internal.Zoom Methods pure :: a -> Effect m r a Source # (<*>) :: Effect m r (a -> b) -> Effect m r a -> Effect m r b Source # liftA2 :: (a -> b -> c) -> Effect m r a -> Effect m r b -> Effect m r c Source # (*>) :: Effect m r a -> Effect m r b -> Effect m r b Source # (<*) :: Effect m r a -> Effect m r b -> Effect m r a Source # | |
| Functor (Effect m r) Source # | |
| (Apply m, Semigroup r) => Apply (Effect m r) Source # | |
| (Monad m, Monoid r) => Monoid (Effect m r a) Source # | |
| (Monad m, Semigroup r) => Semigroup (Effect m r a) Source # | |
newtype EffectRWS w st (m :: Type -> Type) s a Source #
Wrap a monadic effect with a phantom type argument. Used when magnifying RWST.
Constructors
| EffectRWS | |
Fields
| |
Instances
| Contravariant (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 Source # (<*>) :: EffectRWS w st m s (a -> b) -> EffectRWS w st m s a -> EffectRWS w st m s b Source # liftA2 :: (a -> b -> c) -> EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s c 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 # | |
| Functor (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 (.>) :: 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 liftF2 :: (a -> b -> c) -> EffectRWS w st m s a -> EffectRWS w st m s b -> EffectRWS w st m s c | |