lens-3.9.0.2: Lenses, Folds and Traversals

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

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

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 a

     type ReifiedLens' = Simple ReifiedLens

newtype ReifiedIndexedLens i s t a b

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 a

     type ReifiedIndexedLens' i = Simple (ReifiedIndexedLens i)

newtype ReifiedIndexedTraversal i s t a b

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 a

     type ReifiedIndexedTraversal' i = Simple (ReifiedIndexedTraversal i)

data ReifiedTraversal s t a b

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 a

     type ReifiedTraversal' = Simple ReifiedTraversal

newtype ReifiedGetter s a

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

Constructors

ReifyGetter |
Fields reflectGetter :: Getter s a

newtype ReifiedIndexedGetter i s a

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

Constructors

ReifyIndexedGetter |
Fields reflectIndexedGetter :: IndexedGetter i s a

newtype ReifiedFold s a

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

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 a

     type ReifiedSetter' = Simple ReifiedSetter

newtype ReifiedIndexedSetter i s t a b

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 a

     type ReifiedIndexedSetter' i = Simple (ReifiedIndexedSetter i)

newtype ReifiedIso s t a b

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 a

     type ReifiedIso' = Simple ReifiedIso

newtype ReifiedPrism s t a b

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 a

     type ReifiedPrism' = Simple ReifiedPrism