lens-4.17: Lenses, Folds and Traversals

Copyright(C) 2012-2016 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell98

Control.Lens.Internal.Iso

Description

 
Synopsis

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 # 
Instance details

Defined in Control.Lens.Internal.Iso

Methods

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

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

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

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

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

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.

Minimal complete definition

reversing

Methods

reversing :: t -> t Source #

Instances
Reversing ByteString Source # 
Instance details

Defined in Control.Lens.Internal.Iso

Reversing ByteString Source # 
Instance details

Defined in Control.Lens.Internal.Iso

Reversing Text Source # 
Instance details

Defined in Control.Lens.Internal.Iso

Methods

reversing :: Text -> Text 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

Reversing (Seq a) Source # 
Instance details

Defined in Control.Lens.Internal.Iso

Methods

reversing :: Seq a -> Seq 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 (Deque a) Source # 
Instance details

Defined in Control.Lens.Internal.Deque

Methods

reversing :: Deque a -> Deque a Source #