lens-3.10: Lenses, Folds and Traversals

Portability | Rank2Types
Stability | provisional
Maintainer | Edward Kmett <ekmett@gmail.com>
Safe Haskell | Safe-Inferred

Control.Lens.Reified

Description

Synopsis

- newtype ReifiedLens s t a b = ReifyLens {
  - reflectLens :: Lens s t a b
  }
- type ReifiedLens' s a = ReifiedLens s s a a
- newtype ReifiedIndexedLens i s t a b = ReifyIndexedLens {
  - reflectIndexedLens :: IndexedLens i s t a b
  }
- type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a a
- newtype ReifiedIndexedTraversal i s t a b = ReifyIndexedTraversal {
  - reflectIndexedTraversal :: IndexedTraversal i s t a b
  }
- type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a a
- data ReifiedTraversal s t a b = ReifyTraversal {
  - reflectTraversal :: Traversal s t a b
  }
- type ReifiedTraversal' s a = ReifiedTraversal s s a a
- newtype ReifiedGetter s a = ReifyGetter {
  - reflectGetter :: Getter s a
  }
- newtype ReifiedIndexedGetter i s a = ReifyIndexedGetter {
  - reflectIndexedGetter :: IndexedGetter i s a
  }
- newtype ReifiedFold s a = ReifyFold {
  - reflectFold :: Fold s a
  }
- newtype ReifiedSetter s t a b = ReifySetter {
  - reflectSetter :: Setter s t a b
  }
- type ReifiedSetter' s a = ReifiedSetter s s a a
- newtype ReifiedIndexedSetter i s t a b = ReifyIndexedSetter {
  - reflectIndexedSetter :: IndexedSetter i s t a b
  }
- type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a a
- newtype ReifiedIso s t a b = ReifyIso {
  - reflectIso :: Iso s t a b
  }
- type ReifiedIso' s a = ReifiedIso s s a a
- newtype ReifiedPrism s t a b = ReifyPrism {
  - reflectPrism :: Prism s t a b
  }
- type ReifiedPrism' s a = ReifiedPrism s s a a

# Documentation

newtype ReifiedLens s t a b Source

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

Constructors

ReifyLens |

Fields

reflectLens :: Lens s t a b

type ReifiedLens' s a = ReifiedLens s s a aSource

     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

ReifyIndexedLens |

Fields

reflectIndexedLens :: IndexedLens i s t a b

type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a aSource

     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

ReifyIndexedTraversal |

Fields

reflectIndexedTraversal :: IndexedTraversal i s t a b

type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a aSource

     type ReifiedIndexedTraversal' i = Simple (ReifiedIndexedTraversal i)

data ReifiedTraversal s t a b Source

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

Constructors

ReifyTraversal |

Fields

reflectTraversal :: Traversal s t a b

type ReifiedTraversal' s a = ReifiedTraversal s s a aSource

     type ReifiedTraversal' = Simple ReifiedTraversal

newtype ReifiedGetter s a Source

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

Constructors

ReifyGetter |

Fields

reflectGetter :: Getter s a

newtype ReifiedIndexedGetter i s a Source

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

Constructors

ReifyIndexedGetter |

Fields

reflectIndexedGetter :: IndexedGetter i s a

newtype ReifiedFold s a Source

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

Constructors

ReifyFold |

Fields

reflectFold :: Fold s a

newtype ReifiedSetter s t a b Source

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

Constructors

ReifySetter |

Fields

reflectSetter :: Setter s t a b

type ReifiedSetter' s a = ReifiedSetter s s a aSource

     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

ReifyIndexedSetter |

Fields

reflectIndexedSetter :: IndexedSetter i s t a b

type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a aSource

     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

ReifyIso |

Fields

reflectIso :: Iso s t a b

type ReifiedIso' s a = ReifiedIso s s a aSource

     type ReifiedIso' = Simple ReifiedIso

newtype ReifiedPrism s t a b Source

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

Constructors

ReifyPrism |

Fields

reflectPrism :: Prism s t a b

type ReifiedPrism' s a = ReifiedPrism s s a aSource

     type ReifiedPrism' = Simple ReifiedPrism