lens-4.18.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 | Haskell2010

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

Instances details

Profunctor (Exchange a b) Source # |

Instance details

Defined in Control.Lens.Internal.Iso

Methods

dimap :: (a0 -> b0) -> (c -> d) -> Exchange a b b0 c -> Exchange a b a0 d Source #

lmap :: (a0 -> b0) -> Exchange a b b0 c -> Exchange a b a0 c Source #

rmap :: (b0 -> c) -> Exchange a b a0 b0 -> Exchange a b a0 c Source #

(#.) :: forall a0 b0 c q. Coercible c b0 => q b0 c -> Exchange a b a0 b0 -> Exchange a b a0 c Source #

(.#) :: forall a0 b0 c q. Coercible b0 a0 => Exchange a b b0 c -> q a0 b0 -> Exchange a b a0 c Source #

Functor (Exchange a b s) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods fmap :: (a0 -> b0) -> Exchange a b s a0 -> Exchange a b s b0 # (<$) :: a0 -> Exchange a b s b0 -> Exchange a b s a0 #

class Reversing t where Source #

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

Methods

reversing :: t -> t Source #

#### Instances

Instances details

Reversing Text Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Text -> Text Source #
Reversing ByteString Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: ByteString -> ByteString Source #
Reversing ByteString Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: ByteString -> ByteString Source #
Reversing Text Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Text -> Text Source #
Reversing [a] Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: [a] -> [a] Source #
Reversing (NonEmpty a) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: NonEmpty a -> NonEmpty a Source #
Unbox a => Reversing (Vector a) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Vector a -> Vector a Source #
Storable a => Reversing (Vector a) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Vector a -> Vector a Source #
Prim a => Reversing (Vector a) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Vector a -> Vector a Source #
Reversing (Vector a) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Vector a -> Vector a Source #
Reversing (Seq a) Source # |
Instance details Defined in Control.Lens.Internal.Iso Methods reversing :: Seq a -> Seq a Source #
Reversing (Deque a) Source # |
Instance details Defined in Control.Lens.Internal.Deque Methods reversing :: Deque a -> Deque a Source #