lens-5.2.3: Lenses, Folds and Traversals

Copyright | (C) 2012-16 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | Rank2Types
Safe Haskell | Safe-Inferred
Language | Haskell2010

Control.Lens.Reified

Description

Synopsis

- newtype ReifiedLens s t a b = Lens {
  - runLens :: Lens s t a b
  }
- type ReifiedLens' s a = ReifiedLens s s a a
- newtype ReifiedIndexedLens i s t a b = IndexedLens {
  - runIndexedLens :: IndexedLens i s t a b
  }
- type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a a
- newtype ReifiedIndexedTraversal i s t a b = IndexedTraversal {
  - runIndexedTraversal :: IndexedTraversal i s t a b
  }
- type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a a
- newtype ReifiedTraversal s t a b = Traversal {
  - runTraversal :: Traversal s t a b
  }
- type ReifiedTraversal' s a = ReifiedTraversal s s a a
- newtype ReifiedGetter s a = Getter {
  - runGetter :: Getter s a
  }
- newtype ReifiedIndexedGetter i s a = IndexedGetter {
  - runIndexedGetter :: IndexedGetter i s a
  }
- newtype ReifiedFold s a = Fold {
  - runFold :: Fold s a
  }
- newtype ReifiedIndexedFold i s a = IndexedFold {
  - runIndexedFold :: IndexedFold i s a
  }
- newtype ReifiedSetter s t a b = Setter {
  - runSetter :: Setter s t a b
  }
- type ReifiedSetter' s a = ReifiedSetter s s a a
- newtype ReifiedIndexedSetter i s t a b = IndexedSetter {
  - runIndexedSetter :: IndexedSetter i s t a b
  }
- type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a a
- newtype ReifiedIso s t a b = Iso {
  - runIso :: Iso s t a b
  }
- type ReifiedIso' s a = ReifiedIso s s a a
- newtype ReifiedPrism s t a b = Prism {
  - runPrism :: Prism s t a b
  }
- type ReifiedPrism' s a = ReifiedPrism s s a a

# Documentation

    >>> import Control.Lens
    >>> import Control.Applicative

newtype ReifiedLens s t a b Source #

Reify a `Lens` so it can be stored safely in a container.

Constructors

Lens |

Fields

- runLens :: Lens s t a b

type ReifiedLens' s a = ReifiedLens s s a a Source #

    type ReifiedLens' = Simple ReifiedLens

newtype ReifiedIndexedLens i s t a b Source #

Reify an `IndexedLens` so it can be stored safely in a container.

Constructors

IndexedLens |

Fields

- runIndexedLens :: IndexedLens i s t a b

type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a a Source #

    type ReifiedIndexedLens' i = Simple (ReifiedIndexedLens i)

newtype ReifiedIndexedTraversal i s t a b Source #

Reify an `IndexedTraversal` so it can be stored safely in a container.

Constructors

IndexedTraversal |

Fields

- runIndexedTraversal :: IndexedTraversal i s t a b

type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a a Source #

    type ReifiedIndexedTraversal' i = Simple (ReifiedIndexedTraversal i)

newtype ReifiedTraversal s t a b Source #

A form of `Traversal` that can be stored monomorphically in a container.

Constructors

Traversal |

Fields

- runTraversal :: Traversal s t a b

type ReifiedTraversal' s a = ReifiedTraversal s s a a Source #

    type ReifiedTraversal' = Simple ReifiedTraversal

newtype ReifiedGetter s a Source #

Reify a `Getter` so it can be stored safely in a container.

This can also be useful when combining getters in novel ways, as `ReifiedGetter` is isomorphic to `(->)` and provides similar instances.

    >>> ("hello","world","!!!")^.runGetter ((,) <$> Getter _2 <*> Getter (_1.to length))
    ("world",5)

Constructors

Getter |

Fields

- runGetter :: Getter s a

#### Instances

Instances details

Arrow ReifiedGetter Source # |

Instance details

Defined in Control.Lens.Reified

Methods

arr :: (b -> c) -> ReifiedGetter b c Source #

first :: ReifiedGetter b c -> ReifiedGetter (b, d) (c, d) Source #

second :: ReifiedGetter b c -> ReifiedGetter (d, b) (d, c) Source #

(***) :: ReifiedGetter b c -> ReifiedGetter b' c' -> ReifiedGetter (b, b') (c, c') Source #

(&&&) :: ReifiedGetter b c -> ReifiedGetter b c' -> ReifiedGetter b (c, c') Source #

ArrowApply ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods app :: ReifiedGetter (ReifiedGetter b c, b) c Source #
ArrowChoice ReifiedGetter Source # |

Instance details

Defined in Control.Lens.Reified

Methods

left :: ReifiedGetter b c -> ReifiedGetter (Either b d) (Either c d) Source #

right :: ReifiedGetter b c -> ReifiedGetter (Either d b) (Either d c) Source #

(+++) :: ReifiedGetter b c -> ReifiedGetter b' c' -> ReifiedGetter (Either b b') (Either c c') Source #

(|||) :: ReifiedGetter b d -> ReifiedGetter c d -> ReifiedGetter (Either b c) d Source #

ArrowLoop ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods loop :: ReifiedGetter (b, d) (c, d) -> ReifiedGetter b c Source #
Conjoined ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods distrib :: Functor f => ReifiedGetter a b -> ReifiedGetter (f a) (f b) Source # conjoined :: (ReifiedGetter ~ (->) => q (a -> b) r) -> q (ReifiedGetter a b) r -> q (ReifiedGetter a b) r Source #
Choice ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods left' :: ReifiedGetter a b -> ReifiedGetter (Either a c) (Either b c) Source # right' :: ReifiedGetter a b -> ReifiedGetter (Either c a) (Either c b) Source #
Closed ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods closed :: ReifiedGetter a b -> ReifiedGetter (x -> a) (x -> b) Source #
Corepresentable ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Associated Types type Corep ReifiedGetter :: Type -> Type Source # Methods cotabulate :: (Corep ReifiedGetter d -> c) -> ReifiedGetter d c Source #
Representable ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Associated Types type Rep ReifiedGetter :: Type -> Type Source # Methods tabulate :: (d -> Rep ReifiedGetter c) -> ReifiedGetter d c Source #
Costrong ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods unfirst :: ReifiedGetter (a, d) (b, d) -> ReifiedGetter a b Source # unsecond :: ReifiedGetter (d, a) (d, b) -> ReifiedGetter a b Source #
Strong ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods first' :: ReifiedGetter a b -> ReifiedGetter (a, c) (b, c) Source # second' :: ReifiedGetter a b -> ReifiedGetter (c, a) (c, b) Source #
Profunctor ReifiedGetter Source # |

Instance details

Defined in Control.Lens.Reified

Methods

dimap :: (a -> b) -> (c -> d) -> ReifiedGetter b c -> ReifiedGetter a d Source #

lmap :: (a -> b) -> ReifiedGetter b c -> ReifiedGetter a c Source #

rmap :: (b -> c) -> ReifiedGetter a b -> ReifiedGetter a c Source #

(#.) :: forall a b c q. Coercible c b => q b c -> ReifiedGetter a b -> ReifiedGetter a c Source #

(.#) :: forall a b c q. Coercible b a => ReifiedGetter b c -> q a b -> ReifiedGetter a c Source #

Category ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified Methods id :: forall (a :: k). ReifiedGetter a a Source # (.) :: forall (b :: k) (c :: k) (a :: k). ReifiedGetter b c -> ReifiedGetter a b -> ReifiedGetter a c Source #
Cosieve ReifiedGetter Identity Source # |
Instance details Defined in Control.Lens.Reified Methods cosieve :: ReifiedGetter a b -> Identity a -> b Source #
Sieve ReifiedGetter Identity Source # |
Instance details Defined in Control.Lens.Reified Methods sieve :: ReifiedGetter a b -> a -> Identity b Source #
MonadReader s (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods ask :: ReifiedGetter s s Source # local :: (s -> s) -> ReifiedGetter s a -> ReifiedGetter s a Source # reader :: (s -> a) -> ReifiedGetter s a Source #
Applicative (ReifiedGetter s) Source # |

Instance details

Defined in Control.Lens.Reified

Methods

pure :: a -> ReifiedGetter s a Source #

(<*>) :: ReifiedGetter s (a -> b) -> ReifiedGetter s a -> ReifiedGetter s b Source #

liftA2 :: (a -> b -> c) -> ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s c Source #

(*>) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s b Source #

(<*) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s a Source #

Functor (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods fmap :: (a -> b) -> ReifiedGetter s a -> ReifiedGetter s b Source # (<$) :: a -> ReifiedGetter s b -> ReifiedGetter s a Source #
Monad (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods (>>=) :: ReifiedGetter s a -> (a -> ReifiedGetter s b) -> ReifiedGetter s b Source # (>>) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s b Source # return :: a -> ReifiedGetter s a Source #
Monoid s => Comonad (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods extract :: ReifiedGetter s a -> a Source # duplicate :: ReifiedGetter s a -> ReifiedGetter s (ReifiedGetter s a) Source # extend :: (ReifiedGetter s a -> b) -> ReifiedGetter s a -> ReifiedGetter s b Source #
Monoid s => ComonadApply (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods (<@>) :: ReifiedGetter s (a -> b) -> ReifiedGetter s a -> ReifiedGetter s b Source # (@>) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s b Source # (<@) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s a Source #
Distributive (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods distribute :: Functor f => f (ReifiedGetter s a) -> ReifiedGetter s (f a) Source # collect :: Functor f => (a -> ReifiedGetter s b) -> f a -> ReifiedGetter s (f b) Source # distributeM :: Monad m => m (ReifiedGetter s a) -> ReifiedGetter s (m a) Source # collectM :: Monad m => (a -> ReifiedGetter s b) -> m a -> ReifiedGetter s (m b) Source #
Apply (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods (<.>) :: ReifiedGetter s (a -> b) -> ReifiedGetter s a -> ReifiedGetter s b Source # (.>) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s b Source # (<.) :: ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s a Source # liftF2 :: (a -> b -> c) -> ReifiedGetter s a -> ReifiedGetter s b -> ReifiedGetter s c Source #
Bind (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods (>>-) :: ReifiedGetter s a -> (a -> ReifiedGetter s b) -> ReifiedGetter s b Source # join :: ReifiedGetter s (ReifiedGetter s a) -> ReifiedGetter s a Source #
Semigroup s => Extend (ReifiedGetter s) Source # |
Instance details Defined in Control.Lens.Reified Methods duplicated :: ReifiedGetter s a -> ReifiedGetter s (ReifiedGetter s a) Source # extended :: (ReifiedGetter s a -> b) -> ReifiedGetter s a -> ReifiedGetter s b Source #
type Corep ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified type Corep ReifiedGetter = Identity
type Rep ReifiedGetter Source # |
Instance details Defined in Control.Lens.Reified type Rep ReifiedGetter = Identity

newtype ReifiedIndexedGetter i s a Source #

Reify an `IndexedGetter` so it can be stored safely in a container.

Constructors

IndexedGetter |

Fields

- runIndexedGetter :: IndexedGetter i s a

#### Instances

Instances details

Representable (ReifiedIndexedGetter i) Source # |
Instance details Defined in Control.Lens.Reified Associated Types type Rep (ReifiedIndexedGetter i) :: Type -> Type Source # Methods tabulate :: (d -> Rep (ReifiedIndexedGetter i) c) -> ReifiedIndexedGetter i d c Source #
Strong (ReifiedIndexedGetter i) Source # |
Instance details Defined in Control.Lens.Reified Methods first' :: ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i (a, c) (b, c) Source # second' :: ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i (c, a) (c, b) Source #
Profunctor (ReifiedIndexedGetter i) Source # |

Instance details

Defined in Control.Lens.Reified

Methods

dimap :: (a -> b) -> (c -> d) -> ReifiedIndexedGetter i b c -> ReifiedIndexedGetter i a d Source #

lmap :: (a -> b) -> ReifiedIndexedGetter i b c -> ReifiedIndexedGetter i a c Source #

rmap :: (b -> c) -> ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i a c Source #

(#.) :: forall a b c q. Coercible c b => q b c -> ReifiedIndexedGetter i a b -> ReifiedIndexedGetter i a c Source #

(.#) :: forall a b c q. Coercible b a => ReifiedIndexedGetter i b c -> q a b -> ReifiedIndexedGetter i a c Source #

Sieve (ReifiedIndexedGetter i) ((,) i) Source # |
Instance details Defined in Control.Lens.Reified Methods sieve :: ReifiedIndexedGetter i a b -> a -> (i, b) Source #
Functor (ReifiedIndexedGetter i s) Source # |
Instance details Defined in Control.Lens.Reified Methods fmap :: (a -> b) -> ReifiedIndexedGetter i s a -> ReifiedIndexedGetter i s b Source # (<$) :: a -> ReifiedIndexedGetter i s b -> ReifiedIndexedGetter i s a Source #
Semigroup i => Apply (ReifiedIndexedGetter i s) Source # |

Instance details

Defined in Control.Lens.Reified

Methods

(<.>) :: ReifiedIndexedGetter i s (a -> b) -> ReifiedIndexedGetter i s a -> ReifiedIndexedGetter i s b Source #

(.>) :: ReifiedIndexedGetter i s a -> ReifiedIndexedGetter i s b -> ReifiedIndexedGetter i s b Source #

(<.) :: ReifiedIndexedGetter i s a -> ReifiedIndexedGetter i s b -> ReifiedIndexedGetter i s a Source #

liftF2 :: (a -> b -> c) -> ReifiedIndexedGetter i s a -> ReifiedIndexedGetter i s b -> ReifiedIndexedGetter i s c Source #

type Rep (ReifiedIndexedGetter i) Source # |
Instance details Defined in Control.Lens.Reified type Rep (ReifiedIndexedGetter i) = (,) i

newtype ReifiedFold s a Source #

Reify a `Fold` so it can be stored safely in a container.

This can also be useful for creatively combining folds as ``ReifiedFold` s` is isomorphic to `ReaderT s []` and provides similar instances.

    >>> ("hello","world")^..runFold ((,) <$> Fold _2 <*> Fold both)
    [("world","hello"),("world","world")]

Constructors

Fold |

Fields

- runFold :: Fold s a

#### Instances

Instances details

Arrow ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Methods arr :: (b -> c) -> ReifiedFold b c Source # first :: ReifiedFold b c -> ReifiedFold (b, d) (c, d) Source # second :: ReifiedFold b c -> ReifiedFold (d, b) (d, c) Source # (***) :: ReifiedFold b c -> ReifiedFold b' c' -> ReifiedFold (b, b') (c, c') Source # (&&&) :: ReifiedFold b c -> ReifiedFold b c' -> ReifiedFold b (c, c') Source #
ArrowApply ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Methods app :: ReifiedFold (ReifiedFold b c, b) c Source #
ArrowChoice ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Methods left :: ReifiedFold b c -> ReifiedFold (Either b d) (Either c d) Source # right :: ReifiedFold b c -> ReifiedFold (Either d b) (Either d c) Source # (+++) :: ReifiedFold b c -> ReifiedFold b' c' -> ReifiedFold (Either b b') (Either c c') Source # (|||) :: ReifiedFold b d -> ReifiedFold c d -> ReifiedFold (Either b c) d Source #
Choice ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Methods left' :: ReifiedFold a b -> ReifiedFold (Either a c) (Either b c) Source # right' :: ReifiedFold a b -> ReifiedFold (Either c a) (Either c b) Source #
Representable ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Associated Types type Rep ReifiedFold :: Type -> Type Source # Methods tabulate :: (d -> Rep ReifiedFold c) -> ReifiedFold d c Source #
Strong ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Methods first' :: ReifiedFold a b -> ReifiedFold (a, c) (b, c) Source # second' :: ReifiedFold a b -> ReifiedFold (c, a) (c, b) Source #
Profunctor ReifiedFold Source # |

Instance details

Defined in Control.Lens.Reified

Methods

dimap :: (a -> b) -> (c -> d) -> ReifiedFold b c -> ReifiedFold a d Source #

lmap :: (a -> b) -> ReifiedFold b c -> ReifiedFold a c Source #

rmap :: (b -> c) -> ReifiedFold a b -> ReifiedFold a c Source #

(#.) :: forall a b c q. Coercible c b => q b c -> ReifiedFold a b -> ReifiedFold a c Source #

(.#) :: forall a b c q. Coercible b a => ReifiedFold b c -> q a b -> ReifiedFold a c Source #

Category ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified Methods id :: forall (a :: k). ReifiedFold a a Source # (.) :: forall (b :: k) (c :: k) (a :: k). ReifiedFold b c -> ReifiedFold a b -> ReifiedFold a c Source #
Sieve ReifiedFold List Source # |
Instance details Defined in Control.Lens.Reified Methods sieve :: ReifiedFold a b -> a -> [b] Source #
MonadReader s (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods ask :: ReifiedFold s s Source # local :: (s -> s) -> ReifiedFold s a -> ReifiedFold s a Source # reader :: (s -> a) -> ReifiedFold s a Source #
Alternative (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods empty :: ReifiedFold s a Source # (<|>) :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a Source # some :: ReifiedFold s a -> ReifiedFold s [a] Source # many :: ReifiedFold s a -> ReifiedFold s [a] Source #
Applicative (ReifiedFold s) Source # |

Instance details

Defined in Control.Lens.Reified

Methods

pure :: a -> ReifiedFold s a Source #

(<*>) :: ReifiedFold s (a -> b) -> ReifiedFold s a -> ReifiedFold s b Source #

liftA2 :: (a -> b -> c) -> ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s c Source #

(*>) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s b Source #

(<*) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s a Source #

Functor (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods fmap :: (a -> b) -> ReifiedFold s a -> ReifiedFold s b Source # (<$) :: a -> ReifiedFold s b -> ReifiedFold s a Source #
Monad (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods (>>=) :: ReifiedFold s a -> (a -> ReifiedFold s b) -> ReifiedFold s b Source # (>>) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s b Source # return :: a -> ReifiedFold s a Source #
MonadPlus (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods mzero :: ReifiedFold s a Source # mplus :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a Source #
Alt (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods (<!>) :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a Source # some :: Applicative (ReifiedFold s) => ReifiedFold s a -> ReifiedFold s [a] Source # many :: Applicative (ReifiedFold s) => ReifiedFold s a -> ReifiedFold s [a] Source #
Apply (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods (<.>) :: ReifiedFold s (a -> b) -> ReifiedFold s a -> ReifiedFold s b Source # (.>) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s b Source # (<.) :: ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s a Source # liftF2 :: (a -> b -> c) -> ReifiedFold s a -> ReifiedFold s b -> ReifiedFold s c Source #
Bind (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods (>>-) :: ReifiedFold s a -> (a -> ReifiedFold s b) -> ReifiedFold s b Source # join :: ReifiedFold s (ReifiedFold s a) -> ReifiedFold s a Source #
Plus (ReifiedFold s) Source # |
Instance details Defined in Control.Lens.Reified Methods zero :: ReifiedFold s a Source #
Monoid (ReifiedFold s a) Source # |
Instance details Defined in Control.Lens.Reified Methods mempty :: ReifiedFold s a Source # mappend :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a Source # mconcat :: [ReifiedFold s a] -> ReifiedFold s a Source #
Semigroup (ReifiedFold s a) Source # |
Instance details Defined in Control.Lens.Reified Methods (<>) :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a Source # sconcat :: NonEmpty (ReifiedFold s a) -> ReifiedFold s a Source # stimes :: Integral b => b -> ReifiedFold s a -> ReifiedFold s a Source #
type Rep ReifiedFold Source # |
Instance details Defined in Control.Lens.Reified type Rep ReifiedFold = List

newtype ReifiedIndexedFold i s a Source #

Constructors

IndexedFold |

Fields

- runIndexedFold :: IndexedFold i s a

#### Instances

Instances details

Representable (ReifiedIndexedFold i) Source # |
Instance details Defined in Control.Lens.Reified Associated Types type Rep (ReifiedIndexedFold i) :: Type -> Type Source # Methods tabulate :: (d -> Rep (ReifiedIndexedFold i) c) -> ReifiedIndexedFold i d c Source #
Strong (ReifiedIndexedFold i) Source # |
Instance details Defined in Control.Lens.Reified Methods first' :: ReifiedIndexedFold i a b -> ReifiedIndexedFold i (a, c) (b, c) Source # second' :: ReifiedIndexedFold i a b -> ReifiedIndexedFold i (c, a) (c, b) Source #
Profunctor (ReifiedIndexedFold i) Source # |

Instance details

Defined in Control.Lens.Reified

Methods

dimap :: (a -> b) -> (c -> d) -> ReifiedIndexedFold i b c -> ReifiedIndexedFold i a d Source #

lmap :: (a -> b) -> ReifiedIndexedFold i b c -> ReifiedIndexedFold i a c Source #

rmap :: (b -> c) -> ReifiedIndexedFold i a b -> ReifiedIndexedFold i a c Source #

(#.) :: forall a b c q. Coercible c b => q b c -> ReifiedIndexedFold i a b -> ReifiedIndexedFold i a c Source #

(.#) :: forall a b c q. Coercible b a => ReifiedIndexedFold i b c -> q a b -> ReifiedIndexedFold i a c Source #

Sieve (ReifiedIndexedFold i) (Compose List ((,) i)) Source # |
Instance details Defined in Control.Lens.Reified Methods sieve :: ReifiedIndexedFold i a b -> a -> Compose List ((,) i) b Source #
Functor (ReifiedIndexedFold i s) Source # |
Instance details Defined in Control.Lens.Reified Methods fmap :: (a -> b) -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s b Source # (<$) :: a -> ReifiedIndexedFold i s b -> ReifiedIndexedFold i s a Source #
Alt (ReifiedIndexedFold i s) Source # |
Instance details Defined in Control.Lens.Reified Methods (<!>) :: ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a Source # some :: Applicative (ReifiedIndexedFold i s) => ReifiedIndexedFold i s a -> ReifiedIndexedFold i s [a] Source # many :: Applicative (ReifiedIndexedFold i s) => ReifiedIndexedFold i s a -> ReifiedIndexedFold i s [a] Source #
Plus (ReifiedIndexedFold i s) Source # |
Instance details Defined in Control.Lens.Reified Methods zero :: ReifiedIndexedFold i s a Source #
Monoid (ReifiedIndexedFold i s a) Source # |
Instance details Defined in Control.Lens.Reified Methods mempty :: ReifiedIndexedFold i s a Source # mappend :: ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a Source # mconcat :: [ReifiedIndexedFold i s a] -> ReifiedIndexedFold i s a Source #
Semigroup (ReifiedIndexedFold i s a) Source # |
Instance details Defined in Control.Lens.Reified Methods (<>) :: ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a Source # sconcat :: NonEmpty (ReifiedIndexedFold i s a) -> ReifiedIndexedFold i s a Source # stimes :: Integral b => b -> ReifiedIndexedFold i s a -> ReifiedIndexedFold i s a Source #
type Rep (ReifiedIndexedFold i) Source # |
Instance details Defined in Control.Lens.Reified type Rep (ReifiedIndexedFold i) = Compose List ((,) i)

newtype ReifiedSetter s t a b Source #

Reify a `Setter` so it can be stored safely in a container.

Constructors

Setter |

Fields

- runSetter :: Setter s t a b

type ReifiedSetter' s a = ReifiedSetter s s a a Source #

    type ReifiedSetter' = Simple ReifiedSetter

newtype ReifiedIndexedSetter i s t a b Source #

Reify an `IndexedSetter` so it can be stored safely in a container.

Constructors

IndexedSetter |

Fields

- runIndexedSetter :: IndexedSetter i s t a b

type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a a Source #

    type ReifiedIndexedSetter' i = Simple (ReifiedIndexedSetter i)

newtype ReifiedIso s t a b Source #

Reify an `Iso` so it can be stored safely in a container.

Constructors

Iso |

Fields

- runIso :: Iso s t a b

type ReifiedIso' s a = ReifiedIso s s a a Source #

    type ReifiedIso' = Simple ReifiedIso

newtype ReifiedPrism s t a b Source #

Reify a `Prism` so it can be stored safely in a container.

Constructors

Prism |

Fields

- runPrism :: Prism s t a b

type ReifiedPrism' s a = ReifiedPrism s s a a Source #

    type ReifiedPrism' = Simple ReifiedPrism