Safe Haskell | None |
---|---|
Language | Haskell2010 |
Optics.Extra.Internal.Zoom
Synopsis
- newtype Focusing (m :: Type -> Type) c s = Focusing {
- unfocusing :: m (c, s)
- stateZoom :: forall k m (is :: IxList) t s c. (Is k A_Lens, Monad m) => Optic' k is t s -> (s -> m (c, s)) -> t -> m (c, t)
- stateZoomMaybe :: forall k m (is :: IxList) t s c. (Is k An_AffineTraversal, Monad m) => Optic' k is t s -> (s -> m (c, s)) -> t -> m (Maybe c, t)
- stateZoomMany :: forall k m c (is :: IxList) t s. (Is k A_Traversal, Monad m, Monoid c) => Optic' k is t s -> (s -> m (c, s)) -> t -> m (c, t)
- newtype FocusingWith w (m :: Type -> Type) c s = FocusingWith {
- unfocusingWith :: m (c, s, w)
- rwsZoom :: forall k m (is :: IxList) t s r c w. (Is k A_Lens, Monad m) => Optic' k is t s -> (r -> s -> m (c, s, w)) -> r -> t -> m (c, t, w)
- rwsZoomMaybe :: forall k m w (is :: IxList) t s r c. (Is k An_AffineTraversal, Monad m, Monoid w) => Optic' k is t s -> (r -> s -> m (c, s, w)) -> r -> t -> m (Maybe c, t, w)
- rwsZoomMany :: forall k m w c (is :: IxList) t s r. (Is k A_Traversal, Monad m, Monoid w, Monoid c) => Optic' k is t s -> (r -> s -> m (c, s, w)) -> r -> t -> m (c, t, w)
- newtype May a = May {}
- shuffleMay :: Maybe (May c) -> May (Maybe c)
- newtype Err e a = Err {}
- shuffleErr :: Maybe (Err e c) -> Err e (Maybe c)
- newtype Effect (m :: Type -> Type) r = Effect {
- getEffect :: m r
- newtype EffectRWS w s (m :: Type -> Type) c = EffectRWS {
- getEffectRWS :: s -> m (c, s, w)
- rwsMagnify :: forall k (is :: IxList) a b s f c w. Is k A_Getter => Optic' k is a b -> (b -> s -> f (c, s, w)) -> a -> s -> f (c, s, w)
- rwsMagnifyMaybe :: forall k m w (is :: IxList) a b s c. (Is k An_AffineFold, Applicative m, Monoid w) => Optic' k is a b -> (b -> s -> m (c, s, w)) -> a -> s -> m (Maybe c, s, w)
- rwsMagnifyMany :: forall k m w c (is :: IxList) a b s. (Is k A_Fold, Monad m, Monoid w, Monoid c) => Optic' k is a b -> (b -> s -> m (c, s, w)) -> a -> s -> m (c, s, w)
- shuffleS :: s -> Maybe (c, s) -> (Maybe c, s)
- shuffleW :: Monoid w => Maybe (c, w) -> (Maybe c, w)
Zoom
newtype Focusing (m :: Type -> Type) c s Source #
Constructors
Focusing | |
Fields
|
Instances
(Monad m, Monoid s) => Applicative (Focusing m s) Source # | |
Defined in Optics.Extra.Internal.Zoom | |
Monad m => Functor (Focusing m c) Source # | |
stateZoom :: forall k m (is :: IxList) t s c. (Is k A_Lens, Monad m) => Optic' k is t s -> (s -> m (c, s)) -> t -> m (c, t) Source #
stateZoomMaybe :: forall k m (is :: IxList) t s c. (Is k An_AffineTraversal, Monad m) => Optic' k is t s -> (s -> m (c, s)) -> t -> m (Maybe c, t) Source #
stateZoomMany :: forall k m c (is :: IxList) t s. (Is k A_Traversal, Monad m, Monoid c) => Optic' k is t s -> (s -> m (c, s)) -> t -> m (c, t) Source #
newtype FocusingWith w (m :: Type -> Type) c s Source #
Constructors
FocusingWith | |
Fields
|
Instances
(Monad m, Monoid s, Monoid w) => Applicative (FocusingWith w m s) Source # | |
Defined in Optics.Extra.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 => Functor (FocusingWith w m s) Source # | |
Defined in Optics.Extra.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 # |
rwsZoom :: forall k m (is :: IxList) t s r c w. (Is k A_Lens, Monad m) => Optic' k is t s -> (r -> s -> m (c, s, w)) -> r -> t -> m (c, t, w) Source #
rwsZoomMaybe :: forall k m w (is :: IxList) t s r c. (Is k An_AffineTraversal, Monad m, Monoid w) => Optic' k is t s -> (r -> s -> m (c, s, w)) -> r -> t -> m (Maybe c, t, w) Source #
rwsZoomMany :: forall k m w c (is :: IxList) t s r. (Is k A_Traversal, Monad m, Monoid w, Monoid c) => Optic' k is t s -> (r -> s -> m (c, s, w)) -> r -> t -> m (c, t, w) Source #
Magnify
newtype Effect (m :: Type -> Type) r Source #
Wrap a monadic effect.
newtype EffectRWS w s (m :: Type -> Type) c Source #
Wrap a monadic effect. Used when magnifying RWST
.
Constructors
EffectRWS | |
Fields
|
rwsMagnify :: forall k (is :: IxList) a b s f c w. Is k A_Getter => Optic' k is a b -> (b -> s -> f (c, s, w)) -> a -> s -> f (c, s, w) Source #
rwsMagnifyMaybe :: forall k m w (is :: IxList) a b s c. (Is k An_AffineFold, Applicative m, Monoid w) => Optic' k is a b -> (b -> s -> m (c, s, w)) -> a -> s -> m (Maybe c, s, w) Source #
rwsMagnifyMany :: forall k m w c (is :: IxList) a b s. (Is k A_Fold, Monad m, Monoid w, Monoid c) => Optic' k is a b -> (b -> s -> m (c, s, w)) -> a -> s -> m (c, s, w) Source #