Control.Lens.Internal.Iso

lens-4.13.2.1: Lenses, Folds and Traversals

Copyright | (C) 2012-2016 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

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) |
Functor (Exchange a b s) |

class Reversing t where

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

Methods

reversing :: t -> t

Instances

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