lens-4.13: Lenses, Folds and Traversals

Copyright | (C) 2012-2015 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable
Safe Haskell | Trustworthy
Language | Haskell98

Control.Lens.Internal.Iso

Description

Synopsis

- data Exchange a b s t = Exchange (s -> a) (b -> t)
- class Reversing t where
  - reversing :: t -> t

# Documentation

data Exchange a b s t Source

This is used internally by the `Iso` code to provide efficient access to the two functions that make up an isomorphism.

Constructors

Exchange (s -> a) (b -> t) |

Instances

Profunctor (Exchange a b) Source |
Functor (Exchange a b s) Source |

class Reversing t where Source

This class provides a generalized notion of list reversal extended to other containers.

Methods

reversing :: t -> t Source

Instances

Reversing ByteString Source |
Reversing ByteString Source |
Reversing Text Source |
Reversing Text Source |
Reversing [a] Source |
Reversing (Seq a) Source |
Reversing (Vector a) Source |
Unbox a => Reversing (Vector a) Source |
Storable a => Reversing (Vector a) Source |
Prim a => Reversing (Vector a) Source |
Reversing (Deque a) Source |